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
Series Articles
Introduction to. Net Core Distributed micro-service framework-Jimu
. Net Core Distributed microservices Framework-Jimu Add Swagger support
First, prefaceRecently available to optimize the Jimu (a distributed micro-service framework based on. Net Core), considering the current development organization to the front and back of the separation of development, the front and back of each side, good API documentation can red
Tip: This article has been added to the. NET Core MicroServices Foundation Series indexFirst, the Docker minimalist introduction 1.1 General IntroductionDocker is an open source application container engine that is open source based on the Go language and complies with the APACHE2.0 protocol. Docker allows developers to package their apps and dependencies into a lightweight, portable container that can be published on any popular Linux machine or vir
0. Preface
Overall architecture directory: ASP. NET core distributed project-Directory
First, prepare
prerequisites need to download and install Consul, project needs to understand add swagger
Unified in the gateway to configure multiple microservices swagger, need to use the service registration and discovery, of course ocelot inside and have the service discovery, so need to put the ASP. NET core Project first registered in Consul.
The landlord
A microservices architecture system, the different services will be called each other, such as an order service needs to fetch user data, you need to invoke user services, there are multiple User Service instances, Eureka load balanced to one of the service instances, and the previous chapter, We first use the Java version of the service discovery and invocation service to do examples and porting to the. NET Core version.
Version 1.Java Service call
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
in the Agile development , we did find a framework that would enable domain experts, architects, to work together to design an adaptable ROA architecture. But I think we should think of it from another angle. ...even domain experts and architects can work together in a team, but after all, domain experts and architects are people, not gods. So, in the end, how much of the future needs change can be predicted from the current version ? This is really a question that cannot be answered. So, in pr
This is a creation in
Article, where the information may have evolved or changed.
1. Overview
There is a scenario where a request will be processed by multiple services after the microservices split, and it will be difficult to troubleshoot if a service fails on the requested link.We may need to take the requested service, look at the log for analysis, and when the service has dozens of hundred instances, this is certainly scary. Therefore, in order t
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
Create a basic spring boot project, named Eureka-server, and introduce the required dependencies in the Pom.xml:Start a service registry with @enableeurekaserver annotations to provide conversations to other apps. This step is very simple, just add this annotation to a normal spring boot application to enable this feature, such as the following example:@EnableEurekaServer@SpringBootApplicationpublic class Application {public static void main(String[] args) {new SpringApplicationBuilder(Applicati
instance Pom.xml to turn on the monitoring-related endpoint and ensure that the dependency Spring-cloud-starter-hystrix for the circuit breaker has been introduced:Ensure that the @enablecircuitbreaker or @enablehystrix annotations have been used in the main class of the service instance to turn on the circuit breaker function.All the configurations have been completed, the "Eureka-consumer-ribbon-hystrix" monitoring has been initiated and the "Monitor Stream" button has been clicked.From now o
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.