Incognito matter Overview

1. Overview of micro-service frame was

Incognito thing is the current hotspot software development, what is the framework of incognito was it? What is the difference with the traditional monolithic applications do? Which problems? What problems do they bring?

1.2 application of the monomers present

  • High complexity. Single project many modules, code quality varies, each modification of the code have to do the whole test.
  • Technical debt. Over time, the demand for change and personnel change will gradually form the application of technical debt, and piled up.
  • Poor reliability. Single functional problems will affect the entire application system.
  • Extended finite. Monomers application as a whole, can not be scaled according to the service module.
  • Old technology. The introduction of new technical difficulties.
  • Deployment of low frequency. Every function change or repair BUG will lead to redeploy the entire application in a single application.

1.3. What is the incognito thing?

Is an architectural style, it is a way to develop a single application for a group of small service method, with the following characteristics:

a, each micro service can operate independently in its own process.

 B, a single micro faster service starts: single micro service code amount is less, so the start more quickly.

 c, local modification is easy to deploy: a micro-general of the service to be modified, only need to re-deploy the service.

 d, technology stack not limited: in the service architecture can be combined with the characteristics of the project team and business, a reasonable choice of technology stack. For example, part of the business with a relational database, part of the business with NoSQL, partially written in Java, some with N odeJS development.

 e, scale on demand: granular achievable extended on demand. For example, a micro-service system encountered a bottleneck, can be combined with the characteristics of the micro-business services to increase the memory, CPU, or increase the cluster nodes and so on.

Summary: Each single micro service was provided with all the features of a single application, the application is a single monomer.

1.4 micro challenges facing service

 a, higher operation and maintenance requirements: more services mean more investment in operation and maintenance.

 b, distributed inherent complexity: using the service to build a distributed system. For a distributed system, fault-tolerant systems, network latency, and other distributed transaction will bring great challenges.

  c, the interface to adjust the high cost: communication services through the interface between the micro. If you modify a certain micro API services, may all use the imported micro-services need to make adjustments.

 d, duplication of effort: many services are likely to use the same function, and this function did not reach the degree of decomposition of a micro-services, each service will be possible at this time to develop this feature.

1.5 micro-service design principles

   N and database design paradigm, like micro services there are certain design principles:

   a, single responsibility principle: a unit (class, method, or this service, etc.) should be concerned only part of the whole system function alone, there are limits. Single Responsibility Principle can help us develop a more elegant, more agile delivery.

   Principle b, service autonomy: Each service should have an independent micro-business capabilities, dependence and operating environment. In the micro-services architecture, the service is a separate business unit, should be highly decoupled and other services. Each micro-services from development, test, build, deploy, should be run independently.

   c, lightweight communication mechanism: the body should have a lesser amount, cross-language, cross-platform. Reusable agreement REST, AMQP, STOMP, MQTT and so on.

   d, micro intensity of services: this is a difficult, but also the focus of debate. We shall use reasonable division of micro-size service, rather than to put a small service. How much the amount of code can not be a basis for micro-services division. In the design phase should determine its borders, should remain independent and maintain loose coupling between micro-services.

 

   e, micro-services evolution: micro-services evolution is a gradual process, will be reconstructed according to changes in the business, and even re-divided, so that the architecture is more reasonable.

Published 47 original articles · won praise 18 · views 5702

Guess you like

Origin blog.csdn.net/yuruizai110/article/details/101231307