微服务架构的认知思考
作业:
微服务的拆分就是利用领域驱动设计,将业务进行拆分,明确业务的边界和依赖。注意不要过于盲目的追求技术而过度设计,反而对整个系统的设计和开发造成困难。
领域驱动设计:
领域是一个组织所做的事情以及其包含的一切,通俗地说,就是组织的业务范围和做事方式,也是软件开发的目标范围。
领域驱动设计就是从领域出发,分析领域内模型及其关系,进而设计软件系统的方法。
领域是一个组织所做的事情以及其包含的一切。这个范围就太大了,不知道该如何下手。所以通常的做法是把整个领域拆分成多个子域,比如用户、商品、订单、库存、物流、发票等。
在一个子域中,会创建一个概念上的领域边界,在这个边界中,任何领域对象都只表示特定于该边界内部的确切含义。这样边界便称为限界上下文。限界上下文和子域具有一对一的关系,用来控制子域的边界,保证子域内的概念统一性。
组件设计原则:
组件内聚原则主要讨论哪些类应该聚合在同一个组件中,以便组件既能提供相对完整的
功能,又不至于太过庞大。
复用发布等同原则
共同封闭原则
共同复用原则
组件内聚原则讨论的是组件应该包含哪些功能和类,而组件耦合原则讨论组件之间的耦
合关系应该如何设计。
无循环依赖原则
稳定依赖原则
稳定抽象原则
组合设计原则是微服务设计过程中需要参考的 一些原则,不一定要全部遵循,也需要根据实际情况酌情使用。
学习笔记:
本周学习了微服务相关知识,由于没有使用过微服务的相关技术,理解起来还是很抽象,关于微服务的概念和网关以及oauth授权部分的知识理解还可以,但是领域驱动设计和组件设计原则并不是很明确,需要自己实践逐步加深理解。
评论