


Detailed explanation of examples of service registration and discovery of 'microservices'
This article mainly introduces SpringBoot service registration and discovery examples, which has certain reference value. Interested friends can refer to it
Microservice
Practicing "microservices" naturally requires learning how to do service registration and discovery
Based on SpringBoot to learn microservices, it is natural to choose SpringCloud, which is closely related to it; of course, you can choose other technologies. , such as dubbo
, you can also use zookeeper to implement service registration and discovery. As for whether zookeeper is good or bad to implement this function, everyone has their own opinion
SpringCloud
Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems.SpringCloud
SpringCloud includes Distributed/versioned configuration, Distributed/ versioned configuration and many other sub-projects.
Distributed/versioned configuration
Service registration and discovery
Routing
Service-to-service calls
Load balancing
- ##Circuit Breakers
- Global locks
- Leadership election and cluster state ##Distributed messaging
SpringCloud module
spring-cloud-starter-eureka-server
Project
- Service Registration Center
- Service module
Create discovery module and introduce spring-cloud-starter-eureka-server dependency in build.gradle
apply plugin: 'org.springframework.boot' dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:"+ springCloudVersion } } repositories { mavenCentral() } dependencies { compile ('org.springframework.cloud:spring-cloud-starter-eureka-server') } jar { baseName = 'discovery-bootcwenao' }
Provide registration center service through annotation @EnableEurekaServer
/** * @author cwenao * @version $Id DiscoveryBootcwenaoApplication.java, v 0.1 2017-01-12 9:56 cwenao Exp $$ */ @EnableEurekaServer @SpringBootApplication public class DiscoveryBootcwenaoApplication { public static void main(String[] args) { new SpringApplicationBuilder(DiscoveryBootcwenaoApplication.class).web(true).run(args); } }
application.yml configure eureka
propertiesserver:
port: 8761
eureka:
instance:
hostname: discovery
client:
registerWithEureka: false
fetchRegistry: false
service-url:
defaultZone: http://discovery:${server.port}/eureka/
Access localhost:8761
##Service registration
Create the service module and introduce spring-cloud-starter-eureka in build.gradle
apply plugin: 'org.springframework.boot' dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:"+ springCloudVersion } } dependencies { compile('org.springframework.cloud:spring-cloud-starter-eureka') compile('org.springframework.cloud:spring-cloud-stream') } sourceSets { main { resources.srcDirs = ['src/main/resources', 'src/main/java'] resources.includes = ['**/*.xml', '**/*.yml'] } } jar { baseName = 'apigateway-bootcwenao' }Register the service through the annotation @EnableDiscoveryClient
@SpringBootApplication @EnableDiscoveryClient public class ApiGatewayBootcwenaoApplication { public static void main(String[] args) { SpringApplication.run(ApiGatewayBootcwenaoApplication.class, args); } }Configure eureka properties in application.yml
server: port: 10002 spring: application: name: apigateway eureka: client: registerWithEureka: true fetchRegistry: true serviceUrl: defaultZone: http://localhost:8761/eureka/After the registration is completed, you can access the service through the configuration of spring.application.nameVisit localhost:8761 and find that the service has been registered on the registration center
Service registration center enables username and password
By configuring applicaiton.yml username and password
security: basic: enabled: true user: name: aa password: abcdConfigure service provider application.yml
eureka: instance: hostname: configserver prefer-ip-address: true client: registerWithEureka: true fetchRegistry: true service-url: defaultZone: http://aa:abcd@localhost:8761/eureka/
【Related recommendations】
Java Free Video Tutorial
2. JAVA Tutorial manual
3. Comprehensive analysis of Java annotations
The above is the detailed content of Detailed explanation of examples of service registration and discovery of 'microservices'. For more information, please follow other related articles on the PHP Chinese website!

Start Spring using IntelliJIDEAUltimate version...

When using MyBatis-Plus or other ORM frameworks for database operations, it is often necessary to construct query conditions based on the attribute name of the entity class. If you manually every time...

Java...

How does the Redis caching solution realize the requirements of product ranking list? During the development process, we often need to deal with the requirements of rankings, such as displaying a...

Conversion of Java Objects and Arrays: In-depth discussion of the risks and correct methods of cast type conversion Many Java beginners will encounter the conversion of an object into an array...

Solutions to convert names to numbers to implement sorting In many application scenarios, users may need to sort in groups, especially in one...

Detailed explanation of the design of SKU and SPU tables on e-commerce platforms This article will discuss the database design issues of SKU and SPU in e-commerce platforms, especially how to deal with user-defined sales...

How to set the SpringBoot project default run configuration list in Idea using IntelliJ...


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Zend Studio 13.0.1
Powerful PHP integrated development environment

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool