架构师训练营第 1 期第 10 周作业
关于微服务架构(中台架构、领域驱动设计、组件设计原则),你有什么样的思考和认识?
微服务是SOA架构模式的一种特殊实现方式,按业务领域对业务处理和数据对单体系统进行拆分,拆分后的每个独立服务,开发、部署更加轻量,可按需伸缩,服务数据彼此隔离,降低单体系统的数据访问瓶颈。与传统SOA相比,微服务的服务间通信更加轻量。
微服务需要梳理好服务间复杂的调用关系,为了防止各个服务间功能冗余的开发,可以将一些各个服务都会用到的功能提取为基础服务,将这些基础服务组织起来供上层业务调用,就形成了中台架构。中台架构可以避免服务功能的冗余开发,使得服务功能更内聚,服务间调用更有层次感。
微服务落地的首要问题是服务划分,而DDD是解决服务划分的重要手段,DDD通过创建领域模型来建模软件系统,与面向事务的MVC贫血模式相比,DDD既包含业务逻辑,又包含数据,是天然面向对象的充血模型。有了DDD,可以使得服务边界划分更加明确,系统实现更贴近业务需求目标。
微服务作为一个分布式系统,每个微服务都应该能够作为一个或多个组件单元独立发布。组件内聚原则、组件耦合原则,为组件的内部组成和组件间依赖提供了设计指导。符合组件设计原则的微服务,可以更加独立灵活的进行软件发布。
评论