此处显示 class "clear" 的内容
常见问题解答

  • 直销系统设计_落地微服务架构到直销系统

    发布:admin 浏览:
     

    直销系统设计_落地微服务架构到直销系统

     
    因为客户对现代化的产品和系统的需要,对软件开发本身提出了更高的要求,这些要求包括:
    1.服务独立性,互不影响:包括各小组能独立开发;服务能独立部署与运行;不同上下文中可以有不同的技术选型。
    2.高性能大并发:接口能够快速响应请求;队列处理业务能够支持大并发;查询的性能要好。
    3.事件溯源与最终一致性:能够跟踪对象历史变化状态;能够回溯对象到任意的状态。
    4.服务高可用性:数据尽量能够访问;服务尽量能够调用;服务最好能集中管理。
    为了解决上述的开发过程、部署过程以及运行过程中的问题,需要一种新的架构风格来指导产品的开发、部署与运行,这种架构风格就是微服务。微服务架构风格提出以下几个要求来解决上述问题,并应对用户与市场对我们的产品与软件提出的更高要求。
    1.通过构建EDA(事件驱动的架构)并结合消息总线,解决服务独立性的问题。
    2.通过构建CQRS(命令查询职责分离的架构)并结合消息总线,解决大并发高性能的问题。
    3.通过构建Event存储与还原的机制,实现事件溯源,解决最终一致性的问题,也解决业务上有对象历史状态获取的需求。
    4.通过数据库产品本身高可用行,弹性访问实现数据访问高可用;通过实现WebApi负载平衡、重试与断路器、Api网关与服务中心等方式,实现WebApi的高可用。
    所以,微服务是一种架构风格,它旨在通过将一个大系统分解成多个小系统(DDD中的界限上下文),并通过一系列的架构建议,解决服务独立性、性能、事件溯源与最终一致、高可用性的需求,最终使多个界限上下文能够相互协作,组合成一个为用户提供高质量的服务的大系统。