草庐IT

敏感业务

全部标签

为业务系统赋能,携程机票最终行程系统架构演进之路

作者简介Stephen,携程资深后端开发工程师,专注新技术挖掘,持续推动业务创新Scott,携程资深研发经理,负责订单系统架构升级和优化一、背景携程机票订单系统是由多个业务子系统组成,包括出票、改签、航变等等,获取订单行程信息复杂度较高。例如:用户预订了一个包含了2个乘客的机票订单,该订单发生了航变,其中用户A选择了退票,用户B选择了改签。业务系统需要获得该订单最新的行程信息以及行程变化轨迹,以进行展示和进一步处理。上述例子用户的最新行程信息为:乘客1:航班号9C888,SHA-PEK,已退票乘客2:航班号9C999,SHA-PEK,已改签历史的系统设计需要通过API对各业务子系统的数据进行实

java - Java 中的 Timer 类如何对系统时钟敏感?

这个问题在这里已经有了答案:WhatshouldTimertask.scheduleAtFixedRatedoiftheclockchanges?(2个答案)关闭9年前。这highlyvotedansweronSO关于Timer和ScheduledThreadPoolExecutor之间的差异,在列举差异时提到了以下内容:Timercanbesensitivetochangesinthesystemclock,ScheduledThreadPoolExecutorisn't.上面的内容在伟大的JavaConcurrencyinPractice一书中逐字提到。我理解该答案中提到的几点,除

RabbitMQ和RocketMQ区别 | RabbitMQ和RocketMQ优缺点解析 | 消息队列中间件对比:RabbitMQ vs RocketMQ - 选择哪个适合您的业务需求?

一、基础概述:    RabbitMQ和RocketMQ作为消息队列中间件,共同具有以下几个共同的核心机制:消息传递模型:它们都基于消息传递模型,通过将消息发送到队列中进行异步传递,实现不同组件或系统之间的解耦和通信。生产者和消费者:它们都支持生产者和消费者的角色。生产者负责将消息发送到队列中,而消费者则从队列中接收并处理消息。队列:它们都使用队列作为消息存储的中间介质。生产者将消息发送到队列,消费者从队列中接收消息进行处理。发布/订阅模式:它们都支持发布/订阅模式,其中生产者将消息发布到主题或交换机,而消费者通过订阅感兴趣的主题或绑定到交换机来接收消息。消息确认机制:它们都支持消息确认机制,

Elasticsearch:将 IT 智能和业务 KPI 与 AI 连接起来 - 房间里的大象

作者:FermiFang大象寓言的智慧在信息技术和商业领导力的交叉点,蒙眼人和大象的古老寓言提供了一个富有洞察力的类比。这个故事起源于印度次大陆,讲述了六个蒙住眼睛的人第一次遇到大象的故事。每个人触摸大象的不同部位——侧面、象牙、鼻子、膝盖、耳朵和尾巴——随后对大象可能是什么形成了独特而有限的理解。摸到侧面的人认为大象是一堵墙,触摸象牙的人认为它是一根矛,等等。随后,他们激烈争论,每个人都相信自己对大象的看法是全部事实。这个比喻是一个强有力的比喻,可以帮助我们理解不同的观点如何导致对复杂情况的不同和不完整的解释。对于CIO和IT主管来说,这种叙述强调了决策中全面和综合视角的重要性,特别是在技术

【Spring底层原理高级进阶】Spring Kafka:实时数据流处理,让业务风起云涌!️

 🎉🎉欢迎光临🎉🎉🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀🌟特别推荐给大家我的最新专栏《Spring狂野之旅:从入门到入魔》🚀本专栏带你从Spring入门到入魔!这是苏泽的个人主页可以看到我其他的内容哦👇👇努力的苏泽http://suzee.blog.csdn.net/ 故事引言当我们谈论SpringKafka时,可以把它想象成一位非常出色的邮递员,但不是运送普通的信件,而是处理大量的有趣和有用的数据。这位邮递员擅长与Kafka进行互动,并且以一种高级抽象和易用的方式处理数据。这位邮递员的任务是将数据从一个地方传送到另一个地方,就像我们寄送包裹一样。他知道如何与Kafka进行通信,

Java 将敏感的 'key' 存储为 String 或 char[]?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whyischar[]preferredoverstringforpasswords?我在某处读到,将敏感key存储为char[]而不是String更好,因为后者可以在内存中找到。由于JPasswordField的getText()方法已弃用,这也有点意义。这是真的吗?

Unity UGUI的业务用户的查询服务Outline(描边)组件的介绍及使用

写在前面这里只介绍liteflow的简单基础使用以及作者对liteflow进行可视化扩展的相关阐述一、背景及意义背景:对于拥有复杂业务逻辑的系统承载着核心业务逻辑,这些核心业务逻辑涉及内部逻辑运算,缓存操作,持久化操作,外部资源调取,内部其他系统RPC调用等等。项目几经易手,维护的成本就会越来越高。各种硬代码判断,分支条件越来越多。代码的抽象,复用率也越来越低,各个模块之间的耦合度很高。一小段逻辑的变动,会影响到其他模块,需要进行完整回归测试来验证。如要灵活改变业务流程的顺序,则要进行代码大改动进行抽象,重新写方法。实时热变更业务流程,几乎很难实现意义:逻辑解耦、提高扩展性、降低维护成本、能力

java - 使您的业务(服务)层依赖于用户 session 是不是糟糕的设计?

在一个常见的MVC设计的应用程序中,让服务层依赖于用户session是不是一个坏主意?假设有一个服务方法可以从数据库中获取一些对象,并且您希望根据调用的初始化者返回不同的结果——例如,管理员可能会得到10行对象,而普通用户可能只会得到7行因为最后3个是“仅限管理员”的对象。解决这个问题的几种方法是:引入一个新的方法参数,其中包括调用用户。无依赖性但很麻烦,必须在许多方法中输入用户参数。针对不同的用户角色制定不同的方法(具有多种结果)。也没有依赖性,但有很多方法基本上做同样的事情,这增加了代码重复的风险。让该方法从存储当前用户session的静态上下文中的ThreadLocal变量中读取

证券相关业务知识

证券相关业务知识LOF交易回售业务触发条件股票代码区分融券专户竞价交易与大宗交易一级市场和二级市场ETF交易融资融券交易(两融)融券强平转托管簿记和预簿记期权权证股票板块LOF交易LOF,即上市型开放式基金(ListedOpen-EndedFund),是一种既可以在交易所买卖又可以在指定网点申购与赎回的基金。LOF结合了封闭式基金和开放式基金的特点,其份额总额不固定,投资者可以通过多种方式进行交易:场内交易:投资者可以在交易所通过证券账户实时买卖LOF基金份额,就像交易股票一样。这种交易方式使得LOF基金具有较好的流动性。场外交易:投资者也可以在指定网点,如银行柜台、网银、证券公司柜台或基金公

java - 业务逻辑验证模式和建议

我的应用程序中有两层验证。首先是由bean验证API执行的实体验证(例如必填字段)。第二层是业务逻辑验证。例如,用户有一个帖子。只有当用户是此帖子的创建者并且帖子评分if(post.getCreator().equals(session.getUser())){if(post.getRating()我不喜欢这种方式,因为这个条件被重复使用,我不得不重复代码。此外,如果条件语句的数量大于5个左右,阅读和理解代码就会变得不真实。此外,标准的SpringValidator不会很有帮助,因为我必须针对不同的操作(例如删除和更新)对一个实体进行不同的验证所以我正在寻找一种更聪明的方式(也许是模式