官术网_书友最值得收藏!

Identifying bounded contexts

One of the most challenging tasks in designing a microservices-based architecture is to get the bounded context right for each microservice. It is an iterative process that requires a thorough understanding of business capabilities and business domain. Business capabilities must not be confused with business functions or processes. Business capabilities target the what part of a business and have an outcome, whereas a business process targets the how part. For example, alerting is a business capability, whereas sending an email is a business process. A business capability may incorporate one or more business processes.

Bounded contexts must target business capabilities and not business processes. To identify the right bounded contexts, it is recommended to start with a monolithic application with a single unified model and analyze it iteratively over time for high coupling areas. Often, high coupling areas are good target points to split the domain model into sub-domain models that can interact using fixed contracts and help reduce tight coupling. However, such sub-domains must be further validated against business capabilities to make sure that they target only one business capability.

Microservices must be organized around a business capability within a bounded context and own their presentation, business domain, and persistence layer. They must take responsibility for the end-to-end development stack including functions, data model, persistence, user interface, and the contract to access the service using APIs, often over HTTP(S).

主站蜘蛛池模板: 小金县| 霍林郭勒市| 晋江市| 朔州市| 江达县| 杂多县| 郸城县| 沾益县| 昌黎县| 汉中市| 克山县| 通榆县| 盐城市| 故城县| 亚东县| 韶关市| 古田县| 日照市| 体育| 静乐县| 天全县| 天镇县| 合川市| 马鞍山市| 无极县| 富源县| 宝丰县| 铜鼓县| 普安县| 广昌县| 娱乐| 丹东市| 乳山市| 南平市| 沁源县| 通海县| 襄城县| 阿尔山市| 陈巴尔虎旗| 上杭县| 连平县|