系统不是一下子就设计的完美的,要根据时间,环境而异。在有限的资源下应该首先解决最核心的问题。系统设计是不断迭代的过程。在迭代中不断发现问题并修复问题,即好的系统是不断迭代优化出来的,这是一个持续的过程。
系统划分时候需要遵循的
系统架构应该是公司组织架构的反应应该按照业务闭环进行系统拆分/组织架构拆分,实现闭环/高内经/低耦合,减少沟通成本沟通出现问题,应该考虑系统和组织架构的调整合适的时机在进行系统拆分,一开始系统/服务拆分的非常细,维护成本高无状态方便水平扩展
服务动态扩展,服务分组隔离,服务限流,服务鉴权,服务白名单,超时,重试,服务路由,服务set化。 服务化演进:进程内服务—单机远程服务–集群手动注册服务–自动注册和发现服务–服务分组/隔离/路由–服务治理 如限流/黑白名单
作用:系统解耦、异步处理、削峰平流 问题
多个订阅者订阅一个消息队列,系统性能瓶颈消息重试导致的重复,下游需要幂等