登録と発見サービスSpringCloud01--

登録と発見サービスSpringCloud01--

マイクロサービスの登録と発見

私たちはマイクロサービス、多くの場合、サービスプロバイダ、サービスコンシューマとサービス登録センターがあります。私たちが学ぶ前に、飼育係は、登録されたセンターです。公式SpringCloudで、登録センターとしてZKを使用することは推奨されません。しかし、私たちはユーレカを使用する傾向があります

サービスプロバイダは、サービスの消費者は、レジストリは、三角形でした

1.サービスプロバイダは、サービスセンターに登録されます

サービスを見つけるために、レジストリを通じて2.サービスの消費者

3.サービスコールを探します

4.サービスコンシューマとサービス登録センターは、ハートビート接続を維持するために、サービスプロバイダーのアドレスが変更されると、レジストリは、顧客サービスを通知します

第二に、レジストリユーレカ

SpringCloudは、レジストリのサポートをご用意しておりますユーレカ、ZKなど、正式ユーレカをお勧めします

科普:什么是Eureka?
Eureka是Netfix开源的服务发现组件,本身是一个基于Rest的服务。包含Server和Client两部分。SpringCloud将其集成在子项目Spring Cloud Netflix中,从而实现微服务的注册和发现。

2.1。ライティングユーレカサーバー

2.1.1新しい春スターター、導入ユーレカ・サーバを作成します。

2.1.2。application.ymlを作成するには、クラスを開始@EnableEurekaServer

server:
  port: 1111 #服务端口
 
eureka:
  client:
    register-with-eureka: false #是否将自己注册到Eureka服务中,自己本来就是服务无需注册
    fetch-registry: false #是否从Eureka中获取注册信息
    service-url: # Eureka客户端与Eureka服务端交互地址
      defaultZone: http://localhost:${server.port}/eureka/

2.1.3。サービスを書き、新しい春スターター、輸入ユーレカを作成します。

2.1.4。application.ymlを作成し、クラス@EnableDiscoveryClientを開始し、上記の発見を登録するには、登録センターに行きます

server:
  port: 8081 
  
spring:
  application:
    name: microservice-item
    
eureka:
  client:
    register-with-eureka: true
    fetch-registry: true #是否从eureka中获取注册信息,默认true
    service-url:
      defaultZone: http://localhost:1111/eureka/

2.1.5。執筆サービス(キーコード)

@Service
public class ItemService {
    
    @Autowired
    private RestTemplate restTemplate;
    
    @Autowired
    private DiscoveryClient discoveryClient;
    
    /**
     * 商品微服务进行查询
     * @param id
     * @return
     */
    public Item queryItemById(Long id) {
        List<ServiceInstance> instances = discoveryClient.getInstances("MICROSERVICE-ITEM");
        ServiceInstance serviceInstance = instances.get(0);
        String url="http://"+serviceInstance.getHost()+":"+serviceInstance.getPort()+"/item/"+id;
        return restTemplate.getForObject(url, Item.class);
    }
}

2.2書き込み。Eruka、クライアント

2.2.1。eruka-クライアントを作成し、発見コンポーネントを追加erukaのWebパッケージ

2.2.2。設定ファイルapplication.ymlを書きます

#服务端口
server:
  port: 8888

#应用名称及验证账号
spring:
  application:
    name: server-text

#注册中心
eureka:
  #  server:
  #    enable-self-preservation: false       #关闭保护机制
  #    eviction-interval-timer-in-ms: 2000   #剔除失效服务间隔,单位毫秒
  client:
    register-with-eureka: true
    fetch-registry: true
    #设置服务注册中心的URL
    service-url:
      defaultZone: http://root:root@eureka-7901:7901/eureka/
  instance:
    hostname: server-text

2.2.3。起動クラスのノートを追加します

@EnableEurekaClient

通常見つかったクラスタの開始を開始した後2.2.4。

おすすめ

転載: www.cnblogs.com/littlepage/p/11627898.html