zoukankan      html  css  js  c++  java
  • SpringCloud服务注册与发现中心-Eureka

    1.服务注册与发现的好处;

    假设没有这个东西,那么如果存在a,b,c三个同样的服务;

    而现在有一个u服务需要用到a或b或c提供的接口,那么u里面肯定是需要配置这三个服务的地址,然后调用的时候还有问题就是我该选哪个服务来调用呢?

    因为他们作用都是等价的;这里就产生了一系列的配置管理问题(包括a,b,c服务地址变了,或者增加了d服务,这些都需要在u里面改配置,还有改负载均衡算法);

    现在有了服务注册与发现中心,那么a,b,c它们启动时都会自动将自己的服务标识(a,b,c的服务标识是一样的,因为它们的代码啥的一样,比如都叫user-service,只不过实例id不一样,就像一个exe开启了多个进程)和地址 注册到服务注册与发现中心(当然肯定不止这两个数据,不过这两个是最主要的),而服务消费者则是在调用时是通过服务标识来充当ip:port的,然后具体选择哪个服务实例的负载均衡算法由SpringCloud的RestTemplate内部实现了(@LoadBalanced),这样哪怕是加了新服务d(和a等一样的服务),只需要d也以user-service为服务标识将自己注册进去,u服务自动就能去更新本地的服务列表,调用时也能自动的选择一个健康的服务实例来调用;

    2.具体代码:

    eureka服务【服务注册与发现中心】(1.x版本eureka服务其实就是一个war包需要运行在tomcat这样支持servlet的服务器中间件里,也可以通过SpingBoot将它集成为一个可运行的jar包)

    :https://github.com/Silentdoer/demo-eureka-server.git(可以配置集群,但是这个时候eureka同时也是一个EurekaClient,因为它需要将自己也注册进去)

    服务提供者(比如是user-service,给其他服务提供用户信息查询接口之类的)

    :https://github.com/Silentdoer/demo-eureka-provider.git

    服务消费者(比如是notification-service,获取用户详情信息用于通知相关人员)

    :https://github.com/Silentdoer/demo-eureka-consumer.git

  • 相关阅读:
    Python request
    Dockerfile详解
    k8s 英文文档翻译
    k8s 相关命令
    k8s 廖老师的分享
    Docker docker-compose安装
    Mysql 锁库与锁表
    Docker 二进制安装docker
    Java多线程的同步控制记录
    JAVA并行程序基础
  • 原文地址:https://www.cnblogs.com/silentdoer/p/11188744.html
Copyright © 2011-2022 走看看