哪些网站可以接生意做,上海建筑网站设计,企业网站推广形式有,保定seo外包服务商Nacos注册中心
每个服务启动之后都要向注册中心发送服务注册请求#xff0c;注册中心可以和各个注册客户端自定义协议实现服务注册和发现。
pom.xml dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-na…Nacos注册中心
每个服务启动之后都要向注册中心发送服务注册请求注册中心可以和各个注册客户端自定义协议实现服务注册和发现。
pom.xml dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId/dependency启动服务 获取服务实例测试
EnableDiscoveryClient
SpringBootApplication
public class Main83
{public static void main(String[] args){ConfigurableApplicationContext applicationContext SpringApplication.run(Main83.class, args);DiscoveryClient discoveryClient applicationContext.getBean(DiscoveryClient.class);ListServiceInstance instances discoveryClient.getInstances(nacos-payment-provider);for (ServiceInstance instance : instances) {System.out.println(instance.getHost() instance.getHost());System.out.println(instance.getPort() instance.getPort());}NacosDiscoveryClient nacosDiscoveryClient applicationContext.getBean(NacosDiscoveryClient.class);ListServiceInstance serviceInstances nacosDiscoveryClient.getInstances(nacos-payment-provider);for (ServiceInstance instance : serviceInstances) {System.out.println(Nacos instance.getHost() instance.getHost());System.out.println(instance.getPort() instance.getPort());}LoadBalancerClient balancerClient applicationContext.getBean(LoadBalancerClient.class);System.out.println(balancerClient.choose(\nacos-payment-provider\).getPort() balancerClient.choose(nacos-payment-provider).getPort());System.out.println(balancerClient.choose(\nacos-payment-provider\).getPort() balancerClient.choose(nacos-payment-provider).getPort());System.out.println(balancerClient.choose(\nacos-payment-provider\).getPort() balancerClient.choose(nacos-payment-provider).getPort());System.out.println(balancerClient.choose(\nacos-payment-provider\).getPort() balancerClient.choose(nacos-payment-provider).getPort());System.out.println(balancerClient.choose(\nacos-payment-provider\).getPort() balancerClient.choose(nacos-payment-provider).getPort());System.out.println(balancerClient.choose(\nacos-payment-provider\).getPort() balancerClient.choose(nacos-payment-provider).getPort());}}在引入注册中心相关的依赖后注册中心的相关API会实现SpringCloud规范自动给容器中存入DiscoveryClient对象引入了Nacos就是NacosDiscoveryClient。通过DiscoveryClient接口提供的能力可以从注册中心实时拉取服务列表。
负载均衡实现 微服务在自动进行服务发现后进行的是客户端负载均衡也就是客户端自己维护了一套负载均衡算法每次请求选择某一台服务器进行请求。
pom.xml dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-loadbalancer/artifactId/dependencyLoadBalancerClient balancerClient applicationContext.getBean(LoadBalancerClient.class);System.out.println(balancerClient.choose(\nacos-payment-provider\).getPort() balancerClient.choose(nacos-payment-provider).getPort());System.out.println(balancerClient.choose(\nacos-payment-provider\).getPort() balancerClient.choose(nacos-payment-provider).getPort());System.out.println(balancerClient.choose(\nacos-payment-provider\).getPort() balancerClient.choose(nacos-payment-provider).getPort());System.out.println(balancerClient.choose(\nacos-payment-provider\).getPort() balancerClient.choose(nacos-payment-provider).getPort());System.out.println(balancerClient.choose(\nacos-payment-provider\).getPort() balancerClient.choose(nacos-payment-provider).getPort());System.out.println(balancerClient.choose(\nacos-payment-provider\).getPort() balancerClient.choose(nacos-payment-provider).getPort());LoadBalancerClient类会自动使用容器中的DiscoveryClient进行服务的负载均衡。