大连最好的网站制作公司,上孩做网站,衡阳退休职工做面膜网站,鞍山网页制作背景 在日常编程开发中#xff0c;虽然不同公司#xff0c;业务不同#xff0c;语言不同#xff0c;但是工作久了#xff0c;我们会发现一些编程思想几乎是不变的。这些编程思想#xff0c;往往来自于大量实际问题场景的方法总结#xff0c;可以很好的应对某一类问题。如…背景 在日常编程开发中虽然不同公司业务不同语言不同但是工作久了我们会发现一些编程思想几乎是不变的。这些编程思想往往来自于大量实际问题场景的方法总结可以很好的应对某一类问题。如果可以很好的掌握和理解他们将为我们处理开发中的问题提供极大的帮助做的有的放矢。
思想方法 接下来就结合在实际工作中的总结和思考盘点一下一些良好的编程思想后续将持续补充
拆分隔离补偿限流负载均衡时空置换开关防御中介
思想展开
拆分 拆分是编程乃至生活中最常见的一种思想。比如单体拆分为微服务、分库分表、读写分离、动静分离等都是拆分的思想。拆分是解耦合的一种具体手段。 通常当一个组织变得越来越庞大组织内部往往相互影响越来越严重内耗、冲突。这时就可以采用拆分的方法将单体的组织根据业务、共性或一些其他方面的特点拆分为多个不同的部分来达到解耦合的目的。以此减小相互影响和代码冲突等。 举个实际场景的案例在曾经的一个项目中有同事为省事在使用消息队列时没有很好的根据业务拆分话题和队列大杂烩式的使用统一的话题与队列。在一次某业务因并发突然变大导致消息积压时由于没有拆分导致使用该队列的整个业务都严重受影响体验极其差。经此一役根据业务对消息队列做了拆分较少了不同业务之间的影响。
隔离 隔离顾名思义就是将不同的部分隔离开来。和拆分关联比较密切算是拆分的一种效果或前置思想。在编程中也是很常用的比如动静分离将变经常动态变化的和静态资源做隔离、主次隔离将核心业务、和普通业务做隔离避免普通业务影响核心业务的流程等。 隔离在编程领域的主要目的是限制或控制不同部分之间的相互影响以期达成更高的系统弹性、可靠性和可扩展性。
补偿 我们常说的亡羊补牢就是一种补偿思想。在编程中补偿也随处可见比如失败重试、超时后取消、定时处理不合理数据等都是一种补偿的思想。 在分布式事务处理中特别是采用TCCTry-Confirm-Cancel或Saga等分布式事务模式时如果某个操作未能按预期完成系统会触发补偿动作来撤销之前已完成的操作以恢复系统到事务开始前的状态。 在微服务架构中一个服务调用另一个服务后如果被调用的服务出现故障或返回的结果不符合预期调用方可以根据预先设定的补偿逻辑回滚或修复因调用产生的副作用。 补偿作为一种编程思想主要用于应对可能出现的错误、失败或不一致状态以确保系统具备一定的容错能力和一致性保证。
限流 限流也是常见的一种控制流程的方式生活中比如景区限流、地铁限流等。在编程领域限流也是经常使用以至于作为面试八股文中的常客。 比如对高频访问的API接口设置每秒请求数QPS上限防止因短时间内大量请求而导致服务器资源耗尽保障核心服务的稳定性和响应速度。 限流作为一种编程思想在软件领域主要用于控制和管理系统的资源使用、请求处理速率和系统负载等方面以确保系统在高并发场景下依然能够稳定运行防止过载崩溃。