Architect essential skills: micro Services Architecture

What is a software architecture?

Software architecture is a system that contains a variety of organizations organization, these components include Web servers, application servers, databases, storage, communication layer), and there is a relationship to each other or the environment.
image.png

What is a micro-service architecture?

Micro-service refers to the development of a single small, but business function service, each service has its own processing and lightweight communication mechanism, can be deployed on a single or multiple servers.
image.png

Micro Services also refers to a variety of loosely coupled, there is a certain bounded context of service-oriented architecture. That is, if each service to be modified at the same time, then they are not micro-services, because they are tightly coupled together; if you need to have too much of a scene using the service context conditions, then it is a service context borders

What is the advantage of micro-services?

image.png

  • Each micro-services is very small, so that can focus a specific business function or business needs.
  • Micro-service small team can be developed separately, this small team is 2-5 people development staff.
  • Micro services are loosely coupled, there is a functional significance of service, whether it is in the development stage or deployment phase is independent.
  • Micro service can use a different language development.
  • Micro service allows easy and flexible way to integrate automatic deployment, through continuous integration tools, such as Jenkins, Hudson, bamboo.
  • A new member of the team can be put into production quickly.
  • Micro service easily understood by a developer, modify and maintain, such a small team can be more concerned about the outcome of their work. Without the need to reflect the value of cooperation.
  • Micro service allows you to take advantage of integration of the latest technology.
  • Micro service is just the business logic code, and not HTML, CSS, or other interface components mixed.
  • Micro instant service requires expanded.
  • Micro service on the server can be deployed in low-end configuration.
  • Ease and third-party integration.
  • Each service has its own micro-storage capacity, it can have its own database. There may also be consolidated database.

What are the disadvantages of micro Services Architecture is?

  • Micro-service architecture may bring too many operations.
  • DevOps requires skill
  • Possible efforts to double.
  • Complex distributed systems may be difficult to manage.
  • Because the distribution deploy tracking difficult.
  • As the number of services increases management complexity increases.

In each case micro- service for?

When you need to support the desktop web wearable mobile Smart TV it is possible, even in the future you may not know but need to support certain circumstances.

Which companies or products using micro-service architecture?

Most large web systems such as Twitter, Netflix, Amazon and eBay have already migrated from traditional monolithic architecture monolithic architecture to the micro-service architecture

Between micro service is how independent communications?

This is dependent on demand, by using HTTP / REST, JSON data format or Protobuf (Binary protocol), the communication protocol is free.

Why is everyone talking about micro-services?

Since SOA interview 15 years, with RESTful web services and JSON data interchange format popular, easy and quick to establish a connection service has become increasingly convenient.

With the continued influence of # develop ways to deliver and promote the concept of universal Docker containers, micro-services these two ideas and technology combine to form new micro-services + API + platform development model put forward the concept of continuous delivery of micro-container services .

The following figure Monolithic traditional way of DevOps development team:

image.png

This type of architecture requires a whole team across product management, product development Dev QA DBA and system management operations, and after the introduction of micro-services architecture, as shown below:
image.png

DevOps micro-services to promote the restructuring of the way, a big bloated cut into the overall product development team is divided according to different micro-services products team, and a large team responsible for the overall operation and management platform, through the interaction between the two API , so that the loose coupling isolation.

Since the introduction of Docker, different micro-service architecture can use different techniques, such as Node.js Java Ruby Python, etc. These individual services can be done independently of the delivery life cycle, as follows:

image.png

Micro Service Case

Netflix's micro Services Architecture follows, focusing on the global distribution of high scalability and availability:

image.png

Twitter micro-service architecture, focusing on efficient and scalable data center:
image.png

This article ends, like a friend little bit of praise and attention, thanks

Guess you like

Origin blog.csdn.net/qwe123147369/article/details/92646580