SpringCloudEureka集群搭建实战

图片

图片

背景

SpringCloudEureka是基于NetfliEureka做了二次封装,负责微服务架构的服务治理功能。

SpringCloud通过为Eureka增加SpringBoot风格的自动化配置,只需要简单的引入依赖和注解配置,就能让SpringBoot构建的微服务应用轻松和Eureka服务治理体系整合。

功能

各个微服务实例的注册与发现。

  • 每个服务单元向注册中心登记自己提供的服务,将主机与端又号、版本号、通信协议等一些附加信息告知注册中心,注册中心按服务名分类组织服务清单。
  • 服务间调用:不通过指定具体的实例地址,而是通过服务名发起请求调用实现。
  • 服务单元要周期性的发心跳,并请求服务注册中心,获取所有服务的实例清单。

特色

  • Eureka支持非java语言的系统接入。
  • Eureka支持高可用集群配置。

搭建EurekaServer

1、依赖引入



    
    
        org.springframework.cloud
        spring-cloud-starter-netflix-eureka-server
    


    org.springframework.boot
    spring-boot-starter-web
    
    
        
            com.fasterxml.jackson.core
            jackson-databind
        
    



    
        
            org.springframework.cloud
            spring-cloud-dependencies
            Hoxton.SR9
            pom
            import
        
    

2、@EnableEurekaServer修饰启动类

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
 
   public static void main(String[] args) {
       SpringApplication.run(EurekaApplication.class, args);
   }

}

3、配置数据

application.properties


server.port=8881
spring.application.name=eureka-server

## eureka服务端:禁用自己的客户端注册行为
eureka.instance.hostname=localhost
# 服务端禁用自己的客户端注册行为
eureka.client.registerWithEureka=false
# 服务端只需要维护服务实例,不需要检索服务
eureka.client.fetchRegistry=false
# 服务端设置自己的.properties属性值
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

4、验证效果

http://localhost:8881/

图片

图片

搭建EurekaServer集群

1、前言

分布式环境下,考虑发生故障的情况,要构建高可用的注册中心,以增强系统的可用性。

2、解决办法

注册中心,互相注册,形成一组集群,以实现服务清单的互相同步,达到高可用效果。

3、多注册中心集群

3.1 DS Replicas

在Spring Cloud Eureka中,DS Replicas(数据副本)是指Eureka Server集群中各个节点之间同步注册表信息的副本。

3.2注册中心1

配置文件


server.port=8881
spring.application.name=eureka-server

## eureka服务端:禁用自己的客户端注册行为
eureka.instance.hostname=localhost
# 服务端禁用自己的客户端注册行为
eureka.client.registerWithEureka=false
# 服务端只需要维护服务实例,不需要检索服务
eureka.client.fetchRegistry=false
# 服务端设置自己的.properties属性值
eureka.client.serviceUrl.defaultZone=http://localhost2:8882/eureka/

启动指令

 java -jar eureka-1.0-SNAPSHOT.jar

http://localhost:8881/

3.3注册中心2

配置文件

application-b.properties

server.port=8882
spring.application.name=eureka-server

## eureka服务端:禁用自己的客户端注册行为
eureka.instance.hostname=localhost2
# 服务端禁用自己的客户端注册行为
eureka.client.registerWithEureka=false
# 服务端只需要维护服务实例,不需要检索服务
eureka.client.fetchRegistry=false
# 服务端设置自己的.properties属性值
eureka.client.serviceUrl.defaultZone=http://localhost:8881/eureka/

启动指令

java -jar eureka-1.0-SNAPSHOT.jar --spring.profiles.active=b

http://localhost:8882/

修改/etc/hosts

图片

图片

3.4验证效果:高可用集群

http://localhost:8881/

图片

图片

http://localhost:8882/

图片

图片

3.5测试断开注册中心1

图片

图片

其他文章

微服务重构:Mysql+DTS+Kafka+ElasticSearch解决跨表检索难题

基于SpringMVC的API灰度方案

SQL治理经验谈:索引覆盖

Mybatis链路分析:JDK动态代理和责任链模式的应用

大模型安装部署、测试、接入SpringCloud应用体系

一文带你看懂:亿级大表垂直拆分的工程实践

亿级大表冷热分级的工程实践

阅读全文
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.shuli.cc/?p=20012,转载请注明出处。
0

评论0

显示验证码
没有账号?注册  忘记密码?