Conway's Law microService simply

Micro service simply

1 micro-service architecture definition

The term micro-services from Martin Fowler (Martin Fowler) a blog in 2014: Microservices  this article the definition of micro services as follows:

the microservice architectural style [1] is an approach to developing
a single application as a suite of small services, each running in its
own process and communicating with lightweight mechanisms, often an
HTTP resource API. These services are built around business
capabilities and independently deployable by fully automated
deployment machinery. There is a bare minimum of centralized
management of these services, which may be written in different
programming languages and use different data storage technologies.

Micro-service architecture style is monolithic applications is split into several small service  and each service in a separate process in. Communication between services using lightweight communication mechanism is usually the way to provide HTTP API to achieve. These services are carried out through automated deployment of stand-alone deployment . Each service according to their different characteristics of language development but also can use different data storage technologies.

Split service is split based on business and the company's organizational structure, also known as Conway's law.

In addition  Adrian Cockcroft  is likened to the micro-service fine-grained SOA (Service Oriented Architecture)

2 single schema definition

While I explain the definition of micro services, but if you want a deeper understanding of the services we have to start talking about micro-architecture monomer.

Monomer web architecture is to project all functional modules application examples packaged together in the system and a web running in the container. For example, one of our electric provider website which includes merchandise orders module module so we can put multiple modules or to different packages by maven to distinguish. But eventually be packaged into a war deployment in our tomcate in.

Monomers architecture benefits

  1. Friendly support IDE:
    NetBeans, the Eclipse, IntelliJ such tools specifically designed for single applications. You only need to use one of the development and debugging can be deployed on your local machine.
  2. Easy test:
    tester requires only a single application can be tested. The newly developed functions can be deployed to test all functions.
  3. Easy to deploy:
    packaged into war package into our servers or packed into an executive class jar jar package to perform.

Architecture monomer shortcomings

With the development of our business scale single architecture a problem arises

  1. Projects become more complex (with more and more business development module)
  2. Overall project time-consuming to compile
    our developers during the development and debugging process requires a lot of time on useless recompiled.
  3. Merge code conflict readily
    performed when a plurality of parallel development needs of each branch involves the same number of code that can easily conflict.
  4. New features on the line long cycle
    with each new feature development and bug fixes is difficult to estimate the overall impact on the project, it would need to test all functions. However, this test is relatively time-consuming leading to the extension of our on-line time.
  5. Project poor stability
    unimportant function modules appear in the project bug can cause paralysis of the entire service.
  6. Scale can do
    because the entire functional modules in one instance, we extend the entire service instances can not be split vertical specific functions. You can not separate hardware upgrades for a certain function.
  7. Do not dare to try new technologies
    because of our project is a monomer architecture, project members must use the same technology stack for development projects. Switch to a new technology and languages to head the entire project to re-develop. This makes the new language trying to become more difficult.

    The benefits of micro Services Architecture

    Simply put, the benefits of micro-services to compensate for the lack of formal architecture of the monomer. Specific benefits are as follows:

  8. Since split into multiple small service for each service easier to understand
  9. Each service has a micro quick start debugging speed, without too much time waiting for compilation
  10. We can facilitate horizontal and vertical expansion for each service
  11. Upgrades targeted for server hardware based on service characteristics
  12. Do not upgrade individual service coordination with other services
  13. Split service and team organization more matches
  14. Try new technology becomes easier

4 and the difference between micro-service architecture for SOA

  1. SOA is a service-oriented architecture. The micro service is service-oriented architecture.
  2. Micro-service architecture can be understood as SOA finer efforts.
  3. Micro-service architecture emphasizes the use of lightweight communications.
  4. Micro-service architecture emphasis is on business to do fine-grained split and deployment.
  5. Micro-services architecture to emphasize each service has a separate database.

My personal understanding is that the micro-service is the new term on further extension of SOA generated.

5 micro difficulties faced by service

Micro service is not a silver bullet, the use of micro-services business also difficult to be solved. When we split service multiple services may be dozens of service there may be hundreds or even thousands of service. The multi-service area is how to face the difficulties of our governance, specific subdivision, then include the following:

  1. How to split the single system architecture
  2. Communication between a plurality of service
  3. Services API documentation
  4. Registration discovery service
  5. Load Balancing Service
  6. Services Gateway
  7. Distributed Track
  8. Log Aggregation
  9. Centralized configuration
  10. Fault-tolerant limiting
  11. Automated Deployment Services
  12. Monitoring Alarms

If your project code module code is confusing logic can not be solved by micro-services. With the introduction of micro-services division of the functions required to sort out the entire project in order to consider switching to micro-services.

references

And Caine Jane book bloggers when we are talking about micro-services management time exactly what to say :
Rick Osowski: micro-services introduce
commitment gorgeous Jane book bloggers moment: Go - Micro Micro Services Framework practice - related concepts (f)
Daily pick up Jane book bloggers : architecture design Walk: from single architecture, SOA services to micro

1 micro-service architecture definition

The term micro-services from Martin Fowler (Martin Fowler) a blog in 2014: Microservices  this article the definition of micro services as follows:

the microservice architectural style [1] is an approach to developing
a single application as a suite of small services, each running in its
own process and communicating with lightweight mechanisms, often an
HTTP resource API. These services are built around business
capabilities and independently deployable by fully automated
deployment machinery. There is a bare minimum of centralized
management of these services, which may be written in different
programming languages and use different data storage technologies.

Micro-service architecture style is monolithic applications is split into several small service  and each service in a separate process in. Communication between services using lightweight communication mechanism is usually the way to provide HTTP API to achieve. These services are carried out through automated deployment of stand-alone deployment . Each service according to their different characteristics of language development but also can use different data storage technologies.

Split service is split based on business and the company's organizational structure, also known as Conway's law.

In addition  Adrian Cockcroft  is likened to the micro-service fine-grained SOA (Service Oriented Architecture)

2 single schema definition

While I explain the definition of micro services, but if you want a deeper understanding of the services we have to start talking about micro-architecture monomer.

Monomer web architecture is to project all functional modules application examples packaged together in the system and a web running in the container. For example, one of our electric provider website which includes merchandise orders module module so we can put multiple modules or to different packages by maven to distinguish. But eventually be packaged into a war deployment in our tomcate in.

Monomers architecture benefits

  1. Friendly support IDE:
    NetBeans, the Eclipse, IntelliJ such tools specifically designed for single applications. You only need to use one of the development and debugging can be deployed on your local machine.
  2. Easy test:
    tester requires only a single application can be tested. The newly developed functions can be deployed to test all functions.
  3. Easy to deploy:
    packaged into war package into our servers or packed into an executive class jar jar package to perform.

Architecture monomer shortcomings

With the development of our business scale single architecture a problem arises

  1. Projects become more complex (with more and more business development module)
  2. Overall project time-consuming to compile
    our developers during the development and debugging process requires a lot of time on useless recompiled.
  3. Merge code conflict readily
    performed when a plurality of parallel development needs of each branch involves the same number of code that can easily conflict.
  4. New features on the line long cycle
    with each new feature development and bug fixes is difficult to estimate the overall impact on the project, it would need to test all functions. However, this test is relatively time-consuming leading to the extension of our on-line time.
  5. Project poor stability
    unimportant function modules appear in the project bug can cause paralysis of the entire service.
  6. Scale can do
    because the entire functional modules in one instance, we extend the entire service instances can not be split vertical specific functions. You can not separate hardware upgrades for a certain function.
  7. Do not dare to try new technologies
    because of our project is a monomer architecture, project members must use the same technology stack for development projects. Switch to a new technology and languages to head the entire project to re-develop. This makes the new language trying to become more difficult.

    The benefits of micro Services Architecture

    Simply put, the benefits of micro-services to compensate for the lack of formal architecture of the monomer. Specific benefits are as follows:

  8. Since split into multiple small service for each service easier to understand
  9. Each service has a micro quick start debugging speed, without too much time waiting for compilation
  10. We can facilitate horizontal and vertical expansion for each service
  11. Upgrades targeted for server hardware based on service characteristics
  12. Do not upgrade individual service coordination with other services
  13. Split service and team organization more matches
  14. Try new technology becomes easier

4 and the difference between micro-service architecture for SOA

  1. SOA is a service-oriented architecture. The micro service is service-oriented architecture.
  2. Micro-service architecture can be understood as SOA finer efforts.
  3. Micro-service architecture emphasizes the use of lightweight communications.
  4. Micro-service architecture emphasis is on business to do fine-grained split and deployment.
  5. Micro-services architecture to emphasize each service has a separate database.

My personal understanding is that the micro-service is the new term on further extension of SOA generated.

5 micro difficulties faced by service

Micro service is not a silver bullet, the use of micro-services business also difficult to be solved. When we split service multiple services may be dozens of service there may be hundreds or even thousands of service. The multi-service area is how to face the difficulties of our governance, specific subdivision, then include the following:

  1. How to split the single system architecture
  2. Communication between a plurality of service
  3. Services API documentation
  4. Registration discovery service
  5. Load Balancing Service
  6. Services Gateway
  7. Distributed Track
  8. Log Aggregation
  9. Centralized configuration
  10. Fault-tolerant limiting
  11. Automated Deployment Services
  12. Monitoring Alarms

If your project code module code is confusing logic can not be solved by micro-services. With the introduction of micro-services division of the functions required to sort out the entire project in order to consider switching to micro-services.

references

And Caine Jane book bloggers when we are talking about micro-services management time exactly what to say :
Rick Osowski: micro-services introduce
commitment gorgeous Jane book bloggers moment: Go - Micro Micro Services Framework practice - related concepts (f)
Daily pick up Jane book bloggers : architecture design Walk: from single architecture, SOA services to micro

Guess you like

Origin www.cnblogs.com/Leo_wl/p/11796343.html
law