Read about advantages of microservices architecture, The latest news, videos, and discussion topics about advantages of microservices architecture from alibabacloud.com
loadbalancerclient and initiating requests directly through Resttemplate.@RestControllerpublic class DcController {@AutowiredRestTemplate restTemplate;@GetMapping("/consumer")public String dc() {return restTemplate.getForObject("http://eureka-client/dc", String.class);}}As you can see here, in addition to removing the original logic related to Loadbalancerclient, our first URL parameter is somewhat special for resttemplate use. The host location requested here is not in the form of a specific I
();System.out.println(services);return services;}After restarting Eureka-client, try to access Localhost:2101/consumer, and we will get the return result: fallback. We can see from the console of the eureka-client that the service provider outputs the results that were originally to be returned, but because the service consumer triggered a service request timeout exception due to a delay of 5 seconds before it was returned, the service consumer was executed by the downgrade logic specified in th
();System.out.println(services);return services;}After you start eureka-client, try to access Localhost:2101/consumer again, and we'll get the return result: fallback. We can see from the console of the eureka-client that the service provider outputs the results that were originally to be returned, but because the service consumer triggered a service request timeout exception due to a delay of 5 seconds before it was returned, the service consumer was executed by the downgrade logic specified in
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
of the Eureka-client service, and can also observe its load balancing effect by initiating multiple eureka-client services.From 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 the Spring cloud architecture
for service discovery and configuration management using the zookeeper approach.Spring Cloud StreamThe Data flow Operation development package encapsulates the sending and receiving messages with Redis,rabbit, Kafka, and so on.Spring Cloud CLIBased on the Spring Boot CLI, you can quickly set up cloud components on a command-line basis.RibbonProvides load balancing in the cloud with a choice of load balancing strategies to match service discovery and circuit breaker usage.TurbineTurbine is a too
service instance and replaces the actual requested IP address and port with the service name, which completes the invocation of the service interface.After you have finished writing your code, the reader can start Eureka-server, eureka-client, and Eureka-consumer-ribbon. To track how the Eureka-consumer-ribbon service consumes the interface of the Eureka-client service /dc , and can also observe its load balancing effect by initiating multiple eureka-client services.From now on, I will record t
:
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
computing model that combines streaming data with batch data processing.Spring Cloud SecurityAdd security controls to your application based on the Spring Security Toolkit.Spring Cloud ZookeeperA toolkit for manipulating zookeeper for service discovery and configuration management using the zookeeper approach.Spring Cloud StreamThe Data flow Operation development package encapsulates the sending and receiving messages with Redis,rabbit, Kafka, and so on.Spring Cloud CLIBased on the Spring Boot
() + ":" + serviceInstance.getPort() + "/dc"; System.out.println(url); return restTemplate.getForObject(url, String.class); }}As you can see here, we inject loadbalancerclient and resttemplate, and in the implementation of the/consumer interface, First, a Eureka-client service instance is selected through the Choose function of Loadbalancerclient, which is stored in serviceinstance, and the information in these objects is then spliced out to access/ The detailed address of the D
computing model that combines streaming data with batch data processing.Spring Cloud SecurityAdd security controls to your application based on the Spring Security Toolkit.Spring Cloud ZookeeperA toolkit for manipulating zookeeper for service discovery and configuration management using the zookeeper approach.Spring Cloud StreamThe Data flow Operation development package encapsulates the sending and receiving messages with Redis,rabbit, Kafka, and so on.Spring Cloud CLIBased on the Spring Boot
() + ":" + serviceInstance.getPort() + "/dc"; System.out.println(url); return restTemplate.getForObject(url, String.class); }}As you can see here, we inject loadbalancerclient and resttemplate, and in the implementation of the/consumer interface, First, a Eureka-client service instance is selected through the Choose function of Loadbalancerclient, which is stored in serviceinstance, and the information in these objects is then spliced out to access/ The detailed address of the D
computing model that combines streaming data with batch data processing.Spring Cloud SecurityAdd security controls to your application based on the Spring Security Toolkit.Spring Cloud ZookeeperA toolkit for manipulating zookeeper for service discovery and configuration management using the zookeeper approach.Spring Cloud StreamThe Data flow Operation development package encapsulates the sending and receiving messages with Redis,rabbit, Kafka, and so on.Spring Cloud CLIBased on the Spring Boot
Building a Hystrix dashboard in spring cloud is very simple and requires only the following four steps:Create a standard spring boot project named: Hystrix-dashboard.Edit Pom.xml, depending on the content as follows:To apply the main class plus @enablehystrixdashboard, enable the Hystrix dashboard feature.@EnableHystrixDashboard@SpringCloudApplicationpublic class HystrixDashboardApplication {public static void main(String[] args) {SpringApplication.run(HystrixDashboardApplication.class, args);}}
the default template path and so on. # Enable template caching. Spring.thymeleaf.cache=true # Check The templates location exists. Spring.thymeleaf.check-template-location=true # Content-type value. spring.thymeleaf.content-type=text/html # Enable MVC thymeleaf View resolution. Spring.thymeleaf.enabled=true # Template encoding. Spring.thymeleaf.encoding=utf-8 # comma-separated List of view names that should is excluded from resolution. spring.thymeleaf.excluded-view-names= # Template mode
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
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
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
Preparatory workFirst, build a simple Web project that will be used to add security controls later, and if you are building a web app using spring boot, you can read the Spring Boot Development web App article first.Web tier Implementation Request mapping@Controller Public class Hellocontroller { @RequestMapping ("/") public String Index () { return "Index"; } @RequestMapping ("/hello") public String Hello () { return "Hello"; }}
/: Map to Index.htm
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.