• 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

  • 相关阅读:
    性能测试培训:性能瓶颈分析思路
    (国内)完美下载Android源码Ubuntu版
    (国内)完美下载android源代码(文章已经丢失)
    【翻译】Ext JS最新技巧——2015-10-21
    ubuntu 中 eclipse 的菜单栏 显示问题
    谷歌代码库已超过 20 亿行代码,他们是如何管理的?
    架构方面的资料集锦
    Android Studio 使用 Gradle 打包 Jar
    【翻译】Ext JS最新技巧——2015-8-11
    【翻译】在Ext JS 6通用应用程序中使用既共享又特定于视图的代码
  • 原文地址:https://www.cnblogs.com/silentdoer/p/11188744.html
Copyright © 2020-2023  润新知