业务代码设计
文章平均质量分 85
本人在项目开发中的一些想法
无休居士
莫欺中年穷
展开
-
微服务之间的数据依赖问题,该如何解决?
这里我们探讨了服务间的数据依赖问题,并给出了目前较为合适的解决方案。其实这里提到的方案不是一个很大众的方案,肯定会存在一些遗漏的问题没考虑,如果你有更好的方案,欢迎留言讨论。乐于分享和输出干货的Java技术公众号:JavaPersons。原创 2024-10-16 05:00:00 · 1411 阅读 · 0 评论 -
阿里面试:订单超时怎么处理?我们用这种方案
如果对于超时精度比较高,超时时间在 24 小时内,且不会有峰值压力的场景,推荐使用 RocketMQ 的定时消息解决方案。在电商业务下,许多订单超时场景都在 24 小时以上,对于超时精度没有那么敏感,并且有海量订单需要批处理,推荐使用基于定时任务的跑批解决方案。原创 2024-10-16 09:00:00 · 745 阅读 · 0 评论 -
AI大模型快速生成题库-助力业务人效提升10+倍【实战落地,强烈推荐】
通过AI大模型帮助用户进行培训试题的生成,在一定程度上将用户从低效、低技术含量、大工作量中解放出来,是面向用户痛点的一次尝试。同时通过该场景将大模型的能力和业务场景及工程系统结合了起来,让用户得到感知,也便于后续更多的大模型实践场景的发掘和落地。该案例不仅用在航空领域,在其他诸多需要生成试题,生成问卷等相关场景方面都可进行参考和尝试。当前现在试题生成能力也仅是实现在从0到1的落地建设,能力需要不断的打磨和完善,后续会逐步进行1到100,100到∞的升级。原创 2024-10-04 06:00:00 · 1298 阅读 · 0 评论 -
业务复杂度治理方法论--十年系统设计经验总结
1、小步快跑。每个迭代要能独立交付,保障每次迭代充分验证,更快看到重构效果2、先写后读。通过双写,验证新模型的可行性;通过数据一致性校验后,再逐步迁移读接口3、先轻后重。先做简单逻辑再做复杂逻辑。先迁移轻业务,有了经验后,再去迁移更复杂的重业务原创 2024-10-03 09:52:24 · 908 阅读 · 0 评论 -
「重构:改善既有代码的设计」实战篇
正确定义问题,比解决问题重要一百倍。那我们首先来搞清楚什么叫重构?作为(名词),重构是指在不改变软件外在功能的前提下,调整其内部结构的过程。这样的调整旨在提高软件的可理解性和降低修改成本。作为(动词),重构意味着通过一系列细微的步骤,不断地调整软件结构,以保持其设计的整洁和可维护性。重构是一种精练的技艺,它通过小的、计划好的修改来减少引入错误的风险。本质上,重构是对已完成的代码进行设计上的改进。原创 2024-10-02 02:28:59 · 1151 阅读 · 0 评论 -
如何让你提供的接口满足SLA?接口性能优化技巧必看篇
接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题。该问题说简单也简单,说复杂也复杂。导致接口性能问题的原因千奇百怪,不同的项目不同的接口,原因可能也不一样。本文我总结了一些行之有效的,优化接口性能的办法,给有需要的朋友一个参考。原创 2024-09-23 05:00:00 · 1227 阅读 · 0 评论 -
【实践】分布式环境下工作中10种常用的幂等性手段?
在分布式系统中,确保接口的幂等性是至关重要的,可以防止因网络问题或重复请求导致的数据不一致。常见的实现手段包括使用唯一请求标识、分布式锁、版本控制、消息队列去重、状态机、全局唯一ID、补偿机制、幂等性设计模式和数据库约束。这些方法能够有效保证操作的一致性和可靠性,适用于支付、订单处理、日志记录等多种场景。通过合理选择和应用这些技术,可以显著提升系统的稳定性和用户体验。原创 2024-09-22 04:00:00 · 866 阅读 · 0 评论 -
如何保证高并发下接口的幂等性?
接口幂等性是指一个接口无论被调用一次还是多次,其结果都是一样的,不会因为重复调用而产生不同的副作用。这种特性对于保证系统的稳定性和数据一致性至关重要,尤其是在网络不稳定或请求可能重试的情况下。实现幂等性的常见方法包括使用唯一标识符、状态机、数据库约束等,确保同一操作不会被处理多次。通过设计幂等接口,可以大大减少因重复请求导致的数据错误和系统异常。原创 2024-09-21 05:00:00 · 636 阅读 · 0 评论 -
日常开发中,如何减少bug?如何写出健壮的代码呢?(数据库篇)
本文总结了数据库优化和常见问题的多个方面,包括避免慢查询、处理字段为空、支持表情字符、谨慎使用text字段、正确处理异常、配置事务回滚、确保事务在同一线程中执行、管理主从延迟、兼容新老数据、解决大分页问题以及批量处理大数据。通过这些措施,可以提高数据库性能和稳定性,减少潜在问题。原创 2024-09-20 07:00:00 · 765 阅读 · 0 评论 -
为什么一定要做代码Review?
代码评审(Code Review,简称CR)是软件开发过程中的一个关键环节,对于确保代码质量、提高团队协作效率和促进知识共享至关重要。通过多双眼睛审查代码,可以发现潜在的错误和缺陷,减少bug进入生产环境的机会。此外,代码评审确保代码符合团队的编码规范和最佳实践,保持代码风格的一致性。它还促进了团队成员之间的知识交流,帮助新成员更快地了解项目结构和业务逻辑。在代码合并到主分支之前,评审可以及早发现设计和实现上的问题,避免后期更复杂的修复工作。同时,代码评审增强了团队协作,团队成员可以在评审过程中相互学习!原创 2024-09-20 07:30:00 · 1636 阅读 · 0 评论 -
接口设计中的幂等性你还不知道吗?
幂等性(Idempotency)指的是一个操作可以被执行多次,而结果保持不变。换句话说,对于一个幂等操作,第一次执行和后续多次执行的结果是相同的。幂等性在系统设计中扮演着重要角色,它不仅提高了系统的可靠性和用户体验,还简化了错误处理流程。理解和正确实现幂等性可以使API更加健壮和易用。原创 2024-09-18 23:59:40 · 378 阅读 · 0 评论 -
接口幂等性和并发安全的区别?
幂等性:关注的是同一操作的多次调用结果是否一致。并发安全:关注的是在并发环境下操作的正确性和一致性。理解这两个概念有助于设计更健壮的系统和API。原创 2024-09-18 23:57:18 · 507 阅读 · 0 评论 -
【微信朋友圈设计专题】朋友圈的高性能复杂度分析【学习思路】
整个微信是微服务的架构,每一个请求后面可能会涉及到几百个服务,每一个服务都有一个 QoS,目的是对一些重要的服务进行保证。比如除夕晚上流量达到平时的 5 倍,这时整个系统的性能肯定不够,所以要优先保证什么呢?优先保证支付,优先保证红包的体验。红包体验保证了,再保证消息,比如点对点两人之间的消息。这两个保证的前提下,再保证群聊。如果群聊也能保证,再保证朋友圈。性能不够时将优先级低的服务暂时停掉,这个过程是不需要人工干预的。原创 2024-09-12 07:00:00 · 1773 阅读 · 0 评论 -
【设计模式】函数式编程范式工厂模式(Factory Method Pattern)
本文介绍了如何利用函数式编程思想来实现一个简单的 iPad 销售系统。首先,通过定义一个函数式接口 ISellIPad,抽象出销售 iPad 的行为;然后,创建了两个具体的实现类 HuaWeiSellIPad 和 XiaomiSellIPad,分别代表了华为和小米品牌的 iPad 销售信息;接着,通过工厂类 SellIPadFactory,根据传入的品牌名称动态获取相应的 iPad 实例;通过这个示例,读者可以了解到如何利用函数式编程的思想来简化代码结构,提高代码的可读性和可维护性。原创 2024-05-04 23:11:01 · 931 阅读 · 0 评论 -
【设计模式】抽象工厂设计模式和工厂方法模式有什么区别?
总体来说,工厂方法模式侧重于创建单一类型的产品,而抽象工厂模式侧重于创建一系列相关产品的产品族。选择使用哪种模式取决于系统的需求和设计目标。原创 2024-04-30 06:30:00 · 660 阅读 · 0 评论 -
【设计模式】抽象工厂模式(Abstract Factory Pattern)
抽象工厂模式是一种创建型设计模式,它提供了一种创建一系列相关或依赖对象的接口,而无需指定它们具体的类。抽象工厂模式与工厂方法模式相比,不仅仅是针对单一产品的创建,而是针对产品族的创建,即相关联的产品组合。抽象工厂模式是一种常见且实用的设计模式,通过提供一组相关产品的创建接口,保证了产品族的一致性,同时也降低了客户端与具体产品的耦合度。在设计系统时,根据具体需求选择合适的设计模式能够提高代码的可维护性和可扩展性。原创 2024-04-30 06:30:00 · 1486 阅读 · 1 评论 -
【设计模式】工厂方法模式(Factory Method Pattern)
工厂方法模式是一种创建型设计模式,它定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。这样,工厂方法模式让一个类的实例化延迟到其子类。在Java中,工厂方法模式经常用于创建对象,使得客户端代码不需要直接依赖具体的类,而是依赖于接口或抽象类。工厂方法模式是一种常见且实用的设计模式,通过定义工厂接口和具体工厂类,将对象的创建延迟到子类中实现,从而提高了代码的灵活性和扩展性。在设计系统时,根据具体需求选择合适的设计模式能够提高代码的可维护性和可扩展性。原创 2024-04-29 23:58:55 · 1551 阅读 · 0 评论 -
【设计模式】简单工厂模式(Simple Factory Pattern)
简单工厂模式是一种类创建型设计模式,它提供一个静态方法来创建对象。原创 2024-04-29 23:30:37 · 733 阅读 · 0 评论 -
线上又出问题了!又是特殊场景,哎呀,当时怎么没有想到!
测试完成及上线不是终点,除了配合业务进行线上验证及观察线上数据、进行线上巡检之外,还应花点时间回顾一下交付的过程,总结经验教训,主动分享。对于核心的用例,看能否沉淀为自动化的回归及巡检用例。万一出现了线上问题,先尽快恢复业务,再分析原因,进行复盘,总结教训和改进方案。原创 2024-03-11 22:13:34 · 967 阅读 · 0 评论