当前位置: 首页 > news >正文

好的app制作公司湖南 seo

好的app制作公司,湖南 seo,phpstorm,网站版面设计服务提供者集群 既然SpringCloud的是微服务结构,那么对于同一种服务,当然不可能只有一个节点,需要部署多个节点 架构图如下: 由上可以看出存在多个同一种服务提供者(Service Provider) 搭建服务提供者集…

服务提供者集群

既然SpringCloud的是微服务结构,那么对于同一种服务,当然不可能只有一个节点,需要部署多个节点

架构图如下:

由上可以看出存在多个同一种服务提供者(Service Provider)

搭建服务提供者集群

1、参考:SpringCloud 快速入门搭建单机版的:Eureka Server、Service Provider、Service Consumer

2、根据支付模块服务提供者(test-springcloud-provider-payment8001),在父工程中,同样新建一个支付模块的服务提供者(test-springcloud-provider-payment8002)

服务8001与8002的配置中,除端口外,其他都相同,且spring.application.name应用名称必须相同,表明2个服务是同一种服务

服务8002配置文件如下:

 1 # 端口2 server:3   port: 80024 5 spring:6   application:7     name: cloud-payment-service8   #   数据源基本配置9   datasource:
10     driver-class-name: com.mysql.cj.jdbc.Driver
11     url: jdbc:mysql://localhost:3306/test_springcloud?allowPublicKeyRetrieval=true&useSSL=true
12     username: admin
13     password: 123456
14 
15 eureka:
16   client:
17     # 表示将自己注册进Eureka Server默认为true
18     register-with-eureka: true
19     # 是否从Eureka Server抓去已有的注册信息,默认是true
20     fetch-registry: true
21     # 设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址
22     service-url:
23       defaultZone: http://localhost:8761/eureka
24 
25 mybatis:
26   mapperLocations: classpath:mapper/*Mapper.xml
27   # 所有entity别名类所在的包
28   type-aliases-pachage: com.test.springcloud.entities

View Code

3、重新启动项目,打开Eureka查看,发现有2个支付服务

4、使用订单模块消费者调用支付服务

消费者部分代码模块如下:

 1 @Configuration2 public class AppConfig {3 4     /**5      * 注入restTemplate,请用请求rest接口6      * @return7      */8     @Bean9     // 标注此注解后,RestTemplate就具有了客户端负载均衡能力
10     // 负载均衡技术依赖于的是Ribbon组件~
11     // RestTemplate都塞入一个loadBalancerInterceptor 让其具备有负载均衡的能力
12     @LoadBalanced
13     public RestTemplate restTemplate(){
14         return new RestTemplate();
15     }
16 }
17 
18 
19 @RestController
20 @Slf4j
21 public class OrderController {
22 
23     public static final String PAYMENT_URL = "http://CLOUD-PAYMENT-SERVICE";
24 
25     @Autowired
26     private RestTemplate restTemplate;
27 
28     @GetMapping("/consumer/payment/get/{id}")
29     public CommonResult<Payment> getPayment(@PathVariable("id") Long id){
30         return restTemplate.getForObject(PAYMENT_URL + "/payment/get/" + id, CommonResult.class);
31     }
32 
33     ...
34 }

由上可以,通过配置向容器中注入了RestTemplate对象,而RestTemplate又被标注此@LoadBalanced注解后,RestTemplate就具有了客户端负载均衡能力,也就是说RestTemplate会轮流调用服务的各个节点,到达均衡的目的

5、测试调用,启动项目,使用地址:http://localhost:8000/consumer/payment/get/1,进行访问,可以看到已到达负载均衡的目的

服务发现Discovery

服务发现就是对于注册进eureka里面的微服务,可以通过服务发现获得该服务的信息

案例如下:

1、在微服务中使用@EnableDiscoveryClient注解,启用服务发现

 1 // Eureka客户端2 @EnableEurekaClient3 // 启用服务发现4 @EnableDiscoveryClient5 @SpringBootApplication6 public class PaymentMain8001 {7     public static void main(String[] args) {8         SpringApplication.run(PaymentMain8001.class, args);9     }
10 }

2、编辑Controller,启用服务发现之后,它会自动向容器注入DiscoveryClient(服务发现客户端)

通过调用DiscoveryClient的getServices方法,从注册中心获取服务列表

通过调用DiscoveryClient的getInstances方法,从注册中心获取服务实例集

 1 public class PaymentController {2 3     @Autowired4     private DiscoveryClient discoveryClient;5 6     @GetMapping(value = "/payment/discovery")7     public Object discovery(){8         // 获取服务列表9         List<String> services = discoveryClient.getServices();
10         for (String element : services) {
11             log.info("=====element:" + element);
12         }
13         
14         // 获取服务实例集
15         List<ServiceInstance> instances = discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE");
16         for (ServiceInstance instance : instances) {
17             log.info("服务发现" + "\n"
18                     + "getServiceId === " + instance.getServiceId() + "\n"
19                     + "getHost === " + instance.getHost() + "\n"
20                     + "getPort === " + instance.getPort() + "\n"
21                     + "getUri === " + instance.getUri() );
22         }
23 
24         return  this.discoveryClient;
25     }
26 
27 } 

3、启用服务,使用地址:http://localhost:8001/payment/discovery,进行访问

页面结果:

后台日志:

由上可知,通过DiscoveryClient能获取到注册进eureka里面的微服务信息。

http://www.hengruixuexiao.com/news/41676.html

相关文章:

  • 十堰网站设计公司黑帽seo技术论坛
  • 个人如何网站备案强化防疫指导
  • 网站配置优化网站优化检测
  • 图片编辑器在线网页版seo站长网怎么下载
  • 网站独立ip优化整站优化和关键词优化的区别
  • 装修公司做网站的好处顾问
  • 网站策划书3000如何进行网站宣传推广
  • 建立网站费用多少seo资源
  • 如何在WordPress上传主题目录重庆seo整站优化系统
  • 怎么做网站盗号seo流量是什么
  • 张家港做英文网站百度识图在线识图
  • 设计方案表网站名称新开传奇网站发布站
  • 怎么快速提升网站权重福州百度推广排名
  • wordpress设置多域名多站点网络舆情监测
  • 哪里可以做免费的物流网站搜索引擎优化的简称是
  • 链接缩短在线生成器自己怎么做网站优化
  • 几年前备案的网站现在网站不在了备案号还在吗seo网络优化师
  • 织梦网站档目管理空白泰安百度推广代理
  • 仿站容易还是建站容易百度推广公司哪家比较靠谱
  • 做网站需要的技术软件公司
  • 湖南营销型网站建设价格济宁seo推广
  • 左右结构网站什么叫seo
  • 网站建设心得重庆网站排名优化教程
  • 德州极速网站建设百家号北京seo管理
  • 哪个网站做国内销海外的长沙网址seo
  • 商务信息网站怎么做百度搜索浏览器
  • 单页网站怎么优化百度自媒体怎么注册
  • 温州互联网前十名公司在线seo关键词排名优化
  • 东莞哪家网站建设好旺道seo怎么优化网站
  • wordpress app封装合肥网站关键词优化公司