springCloud (the concept of micro-services) 1-1

What micro-service architecture?

Micro Services Architecture is an architectural pattern or a kind of architectural style, he advocated a single application into a set of smaller services, each running in its own separate process, co-ordination between services, cooperate with each other to provide the final value for the user. The use of lightweight communication mechanism between the services communicate with each other (usually based on RESTful API). Each service around the specific business to build, and can be independently deployed to a production environment, production-like environment and so on. In addition, you should try to avoid the same, centralized service service management mechanism, for a specific service should be based on the business context, select the appropriate language, tools to build them, can have a very lightweight centralized management to coordinate these services, you can use a different language to write the service, you can use different data storage

 

What micro service?

Emphasized that individual

 

Advantages and disadvantages of micro-services?

   1) advantage

1, each service cohesive enough, small enough to be readily understood that such codes can be focused to a specified business or business requirements

2, development of simple, high development efficiency, a single service is only doing one thing

3, micro-services can be developed small team

4, micro-services are loosely coupled, there is a functional significance of service, whether it is the development phase or the deployment phase is independent

5, the service can not be micro-language development

6, easy integration with third-party micro-word order service easy and flexible way to integrate automatic deployment, through continuous integration tool (jenkins, Hudson, bamboo)

7, micro-services easy to developers to understand, 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

8, the service allows you to take advantage of micro-integration of the latest technology

9, only the micro-service business logic code, and not css, html combinations other interfaces 

10, each service has its own micro-storage capacity, can have its own database, you can have a unified database

   2) disadvantages

1, developers want to deal with the complexity of distributed systems

2, multi-service operation and maintenance difficulty, with the increase in service, operation and maintenance of pressure also increased

3, system deployment relies

4-service traffic costs

5, data consistency

6, System Integration Testing

7, performance monitoring

 A distributed micro-service architecture, which dimensions he needs to have?

Service development SpringBoot, Spring, SpringMVC
Netflix service configuration and management company Archaius, Ali Diamind etc.
Service registration and discovery Eureka, Consul, Zookeeper, etc.
Service call Rest, RPC, gRPC
Service fuse Hystrix, Envoy, etc.
Load balancing Ribbon, Nginx, etc.
Service interface calls (to simplify the client calls the service tool) Feign etc.
Message queue Kafka, RabbitMQ, ActiveMQ etc.
Service center configuration management SpringCloudConfig, Chef, etc.
Service Routing (API Gateway) Zuul, etc.
Service monitoring Zabbix, Nagios, Metrics, Spectator
Full Link Trace Zipkin, Brave, Dapper, etc.
Service deployment Docker, OpernStack, Kubernetes
Data Flow Development Kit SpringCloud Stream (package and Redis, Rabbit, Kafaka message transmission, etc.)
Event Spring Cloud Bus Message Bus
Why use springCloud?
        Selection based on:
Total solutions and frameworks maturity
Community heat
Maintainability
learning curve
The current IT services company with a micro-architecture which
Ali Dubbo / HSF
Jingdong JSF
Sina microblogging Motan
Dangdang Dubbox
(Dubbo,springCloud)
Comparing each frame?
springCloud has a complete micro-services framework

 

Guess you like

Origin www.cnblogs.com/llcMite/p/11210103.html