系统设计原则
文章平均质量分 77
系统设计原则
959y
奋斗ing
展开
-
主主和主从和主备区别
主主架构和主从架构和主备架构的区别原创 2022-08-29 21:31:57 · 3305 阅读 · 0 评论 -
权限系统设计方案 RBAC模型
RBAC模型原创 2022-08-18 13:37:40 · 1632 阅读 · 1 评论 -
设计一个分布式RPC框架
设计一个RPC系统的步骤原创 2022-07-08 17:19:19 · 390 阅读 · 0 评论 -
大厂的优惠券系统的设计
优惠卷的设计系统原创 2022-07-07 18:34:43 · 1196 阅读 · 0 评论 -
java开发注意事项 (三)
java开发注意事项 (三)原创 2022-07-06 18:23:20 · 253 阅读 · 0 评论 -
设计一个抢红包系统
红包系统的设计原创 2022-07-06 13:47:56 · 2167 阅读 · 2 评论 -
短链的设计
短链接设计原创 2022-07-05 15:46:13 · 350 阅读 · 0 评论 -
java开发注意事项 (二)
java开发注意事项 2原创 2022-07-04 21:34:39 · 264 阅读 · 0 评论 -
电商系统中红包活动设计
红包设计模式原创 2022-07-03 21:17:59 · 286 阅读 · 0 评论 -
java开发注意事项 (一)
java开发注意事项 1原创 2022-07-03 14:14:36 · 468 阅读 · 0 评论 -
如何设计好接口 (一)
1.接口参数校验2.注意接口的兼容性3.充分考虑接口的可扩展性4.接口考虑是否需要防重处理5.重点接口考虑线程池隔离6.调用第三方接口要考虑异常和超时处理7.接口实现考虑熔断和降级8.接口的功能定义要具备单一性9.日志打印好...原创 2022-06-04 12:27:26 · 609 阅读 · 0 评论 -
架构与思维 系统容量设计
何为设计容量,从技术上说就是运用一些策略对系统容量进行预估的过程。数据量、并发量、带宽、注册用户规模、活跃用户规模、在线用户规模、消息长度,图片大小、网盘空间容量,内存CPU容量等。1.分析过程TPS(Transactions Per Second):每秒事务数QPS(Query Per Second):每秒请求数,QPS其实是衡量吞吐量的一个常用指标,就是说服务器在一秒的时间内处理了多少个请求。并发数:并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力。峰值QPS计算原理:每天原创 2022-05-31 16:45:13 · 491 阅读 · 0 评论 -
重构传统设计模式
java8中提供的很多新特性可以用来重构传统设计模式中的写法 策略模式 模板方法模式 观察者模式 责任链模式原创 2022-05-14 20:08:50 · 315 阅读 · 0 评论 -
系统设计的10考虑
文章目录1.系统正确性1.系统正确性转载 2022-05-31 12:38:36 · 370 阅读 · 0 评论 -
如何设计 API 接口,实现统一格式返回
文章目录1.接口相互作用2.返回格式3.数据4.控制层控制器5.美观美化6.优雅优化7.其他优化方案1.接口相互作用前端和前端进行交互,前端按约定的请求URL路径,并合并相关参数,进入服务器接收请求,进行业务处理,返回数据给前端。2.返回格式{ #返回状态码 code:integer, #返回信息描述 message:string, #返回值 data:object}:下面是常见的HTTP状态码:200 - 请求成功301 - 资源(网页等)被永久转移到其它URL.原创 2022-04-22 12:53:54 · 596 阅读 · 0 评论 -
高可用的技巧
文章目录1.系统拆分2.解耦3.异步4.重试5.补偿6.备份7.多活策略8.隔离9.限流10.熔断11.降级1.系统拆分微服务架构,将一个复杂的业务域按DDD的思想拆分成若干子系统,每个子系统负责专属的业务功能,做好垂直化建设,各个子系统之间做好边界隔离,降低风险蔓延。2.解耦高内聚、低耦合。小到接口抽象、MVC 分层,大到 SOLID 原则、23种设计模式。核心都是降低不同模块间的耦合度,避免一处错误改动影响到整个系统。就以开闭原则为例,对扩展是开放的,对修改是关闭的。随着业务功能迭代,如何做到原创 2022-04-19 10:40:19 · 322 阅读 · 0 评论 -
订单系统核心功能
文章目录1.订单中所包含的内容信息2.流程引擎2.1 正向流程2.1.1 订单创建2.1.2 订单支付2.1.3 订单生产2.1.4 订单确认2.1.5 订单完成2.2 逆向流程2.3 状态机3.订单系统的发展1.订单中所包含的内容信息为了使订单系统能够对订单进行高效、精准的管理和跟踪,订单会储存关于产品、优惠、用户、支付信息等一系列的订单实时数据,来和下游系统,如:促销、仓储、物流进行交互。以一个通用B2C商城的订单为例,梳理其包含的信息如下:这里要注意的是订单类型,随着平台业务的不断发展,品类原创 2022-04-15 23:17:30 · 2129 阅读 · 0 评论 -
订单系统的设计
文章目录1.订单系统在企业中的角色2.订单系统与各业务系统的关系2.1 对外系统2.2 管理中后台2.3 公共服务系统3.订单系统上下游关系4.订单系统的业务架构4.1 订单服务4.2 订单逻辑4.3 底层服务1.订单系统在企业中的角色在搭建企业订单系统之前,需要先梳理企业整体业务系统之间的关系和订单系统上下游关系,只有划分清业务系统边界,才能确定订单系统的职责与功能,进而保证各系统之间高效简洁的工作。2.订单系统与各业务系统的关系2.1 对外系统所有给企业外部用户使用的系统都在这一层,包括官网原创 2022-04-13 17:43:03 · 713 阅读 · 0 评论 -
设计模式与原则
GRASP: 通用职责分配软件模式(共9种)SOLID:设计原则(共5种)GOF:设计模式(共23种)其他必要设计原则文章目录1.GRASP:通用职责分配软件模式(共9种)2.SOLID:设计原则(共5种)3.GOF:设计模式(共23种)4.其他必要设计原则1.GRASP:通用职责分配软件模式(共9种)告诉我们怎样设计问题空间中的类与分配它们的行为职责,以及明确类之间的相互关系等Infomation Expert(信息专家)Creator(创造者)Low coupling(低耦合).原创 2022-04-12 11:13:50 · 251 阅读 · 0 评论 -
设计原则_LOD原则
文章目录1.迪米特法则2.高内聚3.松耦合4.代码5.总结1.迪米特法则迪米特法则的英文翻译是:Law of Demeter,缩写是 LOD。单从这个名字上来看,我们完全猜不出这个原则讲的是什么。不过,它还有另外一个更加达意的名字,叫作最小知识原则,英文翻译为:The Least Knowledge Principle。它不像 SOLID、KISS、DRY 原则那样,人尽皆知,但它却非常实用。利用这个原则,能够帮我们实现代码的“高内聚、松耦合”“高内聚、松耦合”是一个非常重要的设计思想,能够有效转载 2022-03-23 18:19:56 · 351 阅读 · 2 评论 -
设计原则_KISS原则
文章目录1.Kiss原则2.Kiss原则意义3.Kiss原则落地1.Kiss原则Keep It Simple and StupidKeep It Short and SimpleKeep It Simple and Straightforward.2.Kiss原则意义KISS 原则算是一个万金油类型的设计原则,可以应用在很多场景中。它不仅经常用来指导软件开发,还经常用来指导更加广泛的系统设计、产品设计等,比如,冰箱、建筑、iPhone 手机的设计等等代码的可读性和可维护性是衡量代码质量非常重转载 2022-03-16 21:32:45 · 367 阅读 · 0 评论 -
设计原则_DRY 原则
文章目录1.DRY 原则2.实现逻辑重复3.功能语义重复4.代码执行重复5.注释重复6.数据重复7.提高代码复用性1.DRY 原则它的英文描述为:Don’t Repeat Yourself。中文直译为:不要重复自己。将它应用在编程中,可以理解为:不要写重复的代码。很多人对这条原则存在的误解。实际上,重复的代码不一定违反 DRY 原则,而且有些看似不重复的代码也有可能违反 DRY 原则。DRY不是只代码重复,而是“知识”的重复,意思是指业务逻辑。例如由于沟通不足,两个程序员用两种不同的方法实现同样功转载 2022-03-15 19:07:48 · 321 阅读 · 0 评论