Distributed, microservices, cloud architectureJava language development, cross-platform, high-performance, high-availability, secure, service-based, modular, component-driven development modelFrom now on, I will record the process and the essence of the recently developed Springcloud micro-service cloud architecture, and help more friends who are interested in developing the Spring cloud framework, hoping to help more good scholars. Let's explore how
Application {public static void main(String[] args) {new SpringApplicationBuilder(ComputeServiceApplication.class).web(true).run(args);}}After we have completed the implementation of the service content, we will continue to do some configuration work for Application.properties, as follows:spring.application.name=eureka-clientserver.port=2001eureka.client.serviceUrl.defaultZone=http://localhost:1001/eureka/With the Spring.application.name property, we can specify that the name of the
restore the original master logic? For this problem, Hystrix also realized the automatic recovery function for us. When the circuit breaker opens, the main logic of the fuse, Hystrix will start a sleep time window, in this time window, the demotion logic is temporary into the primary logic, when the sleep time window expires, the circuit breaker will enter the semi-open state, release a request to the original master logic, if the request returned normally, Then the circuit breaker will continu
Large Enterprise Distributed Micro Service Cloud Architecture service componentAchieve modularity, microservices, Atomicity, grayscale publishing, continuous integrationCommonservice EurekaNetflixCloud service discovery, a REST-based service for locating services to enable mid-tier service discovery and failover in the cloud.Commonservice EurekaNetflixCloud service discovery, a REST-based service for locating services to enable mid-tier service discov
Implementation ideas:1: Prepare a threadlocal variable for sharing between threads.2: Each micro-service filters all the feign calls that come in, and then gets the user information from the request header and exists in the threadlocal variable.3: Each micro-service in the use of feignclient invoke other microservices, first remove the user information from the threadlocal, and placed in the request header.4: Encapsulate as an annotation and mark it o
Distributed, microservices, cloud architectureJava language development, cross-platform, high-performance, high-availability, secure, service-based, modular, component-driven development modelFrom now on, I will record the process and the essence of the recently developed Springcloud micro-service cloud architecture, and help more friends who are interested in developing the Spring cloud framework, hoping to help more good scholars. Let's explore how
Large Enterprise Distributed Micro Service Cloud Architecture service componentAchieve modularity, microservices, Atomicity, grayscale publishing, continuous integrationCommonservice EurekaNetflixCloud service discovery, a REST-based service for locating services to enable mid-tier service discovery and failover in the cloud.Commonservice EurekaNetflixCloud service discovery, a REST-based service for locating services to enable mid-tier service discov
Enterprise Distributed Micro Service Cloud Architecture service componentAchieve modularity, microservices, Atomicity, grayscale publishing, continuous integrationCommonservice ZipkinSpringThe Log Collection toolkit, which encapsulates dapper and log-based tracing as well as Zipkin and htrace operations, implements a distributed tracking solution for Springcloud applications.Commonservice TurbineNetflixThe aggregation server is a tool for sending even
Large Enterprise Distributed Micro Service Cloud Architecture service componentAchieve modularity, microservices, Atomicity, grayscale publishing, continuous integrationCommonservice EurekaNetflixCloud service discovery, a REST-based service for locating services to enable mid-tier service discovery and failover in the cloud.Commonservice ConfigSpringThe Configuration Management Toolkit allows you to place configurations on remote servers, centralize
authentication, flow control, and shunt control. This section describes the following service management, and other features that will be introduced in the next few articlesService ManagementFor the service we need to manage the following actionsService machine: For the service deployment of the machine, we need the platform for management monitoring, if an exception occurs, through the API gateway to alarmMetadata: Through metadata we can find annotations of related services, such as name, own
Benefits:Solve the problem of traditional single-block style applications:
Single code base, complex code maintenance
Single release unit, difficult to test
Single release unit, publishing difficulty
Very high requirements for server hardware configuration, vertical expansion difficulties
Unable to be stateless, horizontal expansion difficult
Solve the problem of centralized service management mechanism:
A single point of failure may occur
Poor scalability, prone to
Technical remarks on microservice entriesService Development: springboot, spring, and springmvcService configuration and management: Netflix archaius and Alibaba's diamondService Registration and discovery, such as Eureka, consul, and zookeeperService call rest, RPC, grpcService fuses such as hystrix and envoyServer Load balancer, such as ribbon and nginxService Interface call (client call service simple tools) feign, etc.Message Queue Kafka, rabbitmq, activemq, etc.Manage springcloudconfig and
Microservices-webapi implementation, separation from iis, and tomcat-webapitomcatPreface
Microservice, as its name implies, is a tiny, single service program, a single process, a single release, development and deployment can be independent;
This is my understanding;
However, web-based services, such as webservice and webapi, must be based on iis or tomcat,
This article describes how to deploy plain text programs based on http services by bypassing ii
To configure specific implementations under the Compute-service service.
Invoke the computeclient defined above in the Web layer, as follows:
@RestController public class Consumercontroller {@Autowired computeclient Compu Teclient; @RequestMapping (Value = "/add", Method = Requestmethod.get) public Integer Add () { retu RN Computeclient.add (20 application.properties do not change, specify the Eureka service registry, such as:
spring.application.name=feig
, requestcacheenabled =true)] // requestcacheenabled =true is enabling cachingIntercept Get Cache" getuser_id_{0} " 480)]Block Delete Cache" getuser_id_{0} " " getusername_name_{0} ", Mode = Cachetargettype.redis)]Apply [CacheKey] to identify the cache key, as Public class Usermodel { [CacheKey (1)] publicintgetset;} Publicstringgetset;} Public int Get Set ; } }Configuring interceptors. Addclientintercepted (typeof(Cacheproviderinterceptor))4. TestingTes
I. Directory structureTwo, pom fileimportSpring-cloud-dependencies move to Pom file in MicroserviceThird, the configuration of Yml 1.bootstrap.ymlSpring: profiles: native #配置服务器使用本地配置, default git configuration application: Name:micro -service-Config # service name registered in Eureka Eureka: instance: non-secure-port: ${server.port:8763 The value in environment variable is used in the environment variable , if not, the default 8080 port metadata-map: instanceId: ${ Spri
, intuitive, and powerful, the most popular HTML, CSS, and JS frameworks for developing responsive layouts, mobile device-first WEB projects.Designed for all developers, all application scenarios.Make front-end development faster and easier. All developers are quick to get started, all devices are adaptable, and all projects are available.DistributedDistributed services: Dubbo+zookeeper+proxy+restfulDistributed message Middleware: Kafka+flume+zookeeperDistributed cache: Redis Distributed files:
:
123456789
@EnableEurekaServer @SpringBootApplication public class application { public static void main(string[] args) {
new Springapplicationbuilder (Application.class). Web (True). Run (args);}
By default, the service registry will also try to register itself as a client, so we need to disable its client registration behavior by simply application.properties adding the following information to the configuration file:
123456
s
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.