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

美声广告网站建设做网站开发要安装哪些软件

美声广告网站建设,做网站开发要安装哪些软件,怎么在免费空间里面做网站,上海画册设计概述 本文介绍微服务的服务调用和负载均衡#xff0c;使用spring cloud的loadbalancer及openfeign两种技术来实现。 本文的操作是在微服务的初步使用的基础上进行。 环境说明 jdk1.8 maven3.6.3 mysql8 spring cloud2021.0.8 spring boot2.7.12 idea2022 步骤 改造Eu…概述 本文介绍微服务的服务调用和负载均衡使用spring cloud的loadbalancer及openfeign两种技术来实现。 本文的操作是在微服务的初步使用的基础上进行。 环境说明 jdk1.8 maven3.6.3 mysql8 spring cloud2021.0.8 spring boot2.7.12 idea2022 步骤 改造Eureka为单节点 为了方便测试把高可用Eureka还原为单节点Eureka。 修改eureka_server的application.yml spring:application:name: eureka-server server:port: 9000 eureka:instance:hostname: localhostclient:registerWithEureka: falsefetchRegistry: falseserviceUrl:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/server:enable-self-preservation: falseeviction-interval-timer-in-ms: 4000 修改product-service服务和order-service服务的application.yml的Eureka配置如下 eureka:client:service-url:defaultZone: http://localhost:9000/eureka/ spring-cloud-loadbalancer spring-cloud-loadbalancer和ribbon类似之前的spring cloud版本eureka内部继承了ribbon 但spring cloud版本升级后不再内置ribbon可查看依赖关系spring cloud提供了自己的负载均衡的实现可查看 官方文档 Spring Cloud provides its own client-side load-balancer abstraction and implementation. For the load-balancing mechanism, ReactiveLoadBalancer interface has been added and a Round-Robin-based and Random implementations have been provided for it. In order to get instances to select from reactive ServiceInstanceListSupplier is used. Currently we support a service-discovery-based implementation of ServiceInstanceListSupplier that retrieves available instances from Service Discovery using a Discovery Client available in the classpath. 服务调用 之前服务调用时使用host:ip拼接成URL的方式进行调用较为麻烦使用LoadBalanced注解后可以使用微服务的服务名称来进行调用更加方便。 在创建RestTemplate的时候申明LoadBalanced 使用restTemplate调用远程微服务不需要拼接微服务的URL用服务名称替换IP地址 ​ 修改OrderController.java使用服务名称代替host:port的形式避免了之前的使用实例元数据进行拼接。 修改前 product restTemplate.getForObject(http://host:port/product/1, Product.class); 修改后 product restTemplate.getForObject(http://service-product/product/1, Product.class); 启动测试 启动eureka、product、order服务 浏览器访问 能访问到数据说明服务调用成功了。 负载均衡 使用LoadBalanced注解后除了方便使用服务名称进行调用之外更重要的是也实现了服务调用的负载均衡功能。准备两个商品服务端口号分别为9001、9011两个商品服务的作用1.增加系统吞吐率  2.商品服务高可用。 服务架构及流程如下图 修改product-service的controller Value(${spring.cloud.client.ip-address}) //springcloud自动获取应用的ip地址private String ip; 启动product服务9001端口 修改product服务的yml修改服务端口为9011 复制运行配置得到另一个proudct服务 启动product2服务9011端口 查看Eureka Web页面 http://localhost:9000/ 看到SERVICE-PRODUCT有2个在线状态的实例端口分别是9001和9011  启动order服务 分别访问9001和9011 http://localhost:9001/product/1 http://localhost:9011/product/1 两个商品服务均正常 测试负载均衡 访问如下链接2次 http://localhost:9002/order/buy/1 发现实现 第一次访问9001商品服务第二次访问了9011商品服务说明实现了客户端的负载均衡 多次刷新访问http://localhost:9002/order/buy/1发现9001和9011是交替出现说明默认使用的负载均衡是轮询策略。 OpenFeign 此前的服务调用代码如下 restTemplate.getForObject(http://service-product/product/1, Product.class); 如果请求参数过多是拼接URL的方式显得麻烦可以使用OpenFeign来解决。 OpenFeign 全称 Spring Cloud OpenFeign它是 Spring 官方推出的一种声明式服务调用与负载均衡组件它的出现就是为了替代进入停更维护状态的 Feign。 OpenFeign 是 Spring Cloud 对 Feign 的二次封装它具有 Feign 的所有功能并在 Feign 的基础上增加了对 Spring MVC 注解的支持。 OpenFeign的使用 在order-service操作 1.导入依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId/dependency 2.配置调用接口 业务需求order服务调用product服务 FeignClient(name service-product) public interface ProductFeignClient {/*** 配置需要调用的微服务接口* return*/RequestMapping(value /product/{id}, method RequestMethod.GET)Product findById(PathVariable(id) Long id); } 3.在启动类上激活feign //激活feign EnableFeignClients public class OrderApplication { 4.通过自动注入的接口调用远程微服务 修改之前的Controller代码 RestController RequestMapping(/order) public class OrderController {Autowiredprivate RestTemplate restTemplate;Autowiredprivate DiscoveryClient discoveryClient;RequestMapping(value /buy/{id}, method RequestMethod.GET)public Product findById(PathVariable Long id){Product product null;product restTemplate.getForObject(http://service-product/product/1, Product.class);return product;}} 修改之后的代码 RestController RequestMapping(/order) public class OrderController {Autowiredprivate ProductFeignClient productFeignClient;RequestMapping(value /buy/{id}, method RequestMethod.GET)public Product findById(PathVariable Long id){Product product null;//调用微服务product productFeignClient.findById(id);return product;}} 可以看出OrderController通过注入ProductFeignClient接口实例并调用接口方法实现了调用。 可以看出不需要自己构建http请求就像是调用自身工程的方法调用。如果有多个参数可以传递对象参数避免了拼接url的麻烦。 测试 启动服务 启动eureka、启动product启动两个实例9000和9011、启动order 浏览器访问 分别访问确保product服务能正常访问 http://localhost:9001/product/1 http://localhost:9011/product/1 访问order两次 http://localhost:9002/order/buy/1 多次访问发现9001和9011交替出现说明实现了负载均衡。 OpenFeign的配置 如果需要配置OpenFeign在application.yml添加相关配置 配置案例如下 feign:client:config:feignName: #FeginClient的名称connectTimeout: 5000 #建立链接的超时时长readTimeout: 5000 #读取超时时长loggerLevel: full #Fegin的日志级别errorDecoder: com.example.SimpleErrorDecoder #Feign的错误解码器retryer: com.example.SimpleRetryer #配置重试requestInterceptors: #添加请求拦截器- com.example.FooRequestInterceptor- com.example.BarRequestInterceptordecode404: false #配置熔断不处理404异常#日志配置 #NONE : 不输出日志(高) #BASIC: 适用于生产环境追踪问题#HEADERS : 在BASIC的基础上,记录请求和响应头信息 #FULL : 记录所有service-product:logger-level: FULL #配置商品服务日志compression:request:enabled: true #开启请求压缩mime-types: text/html,application/xml,application/json #设置压缩的数据类型min-request-size: 2048 #设置触发压缩的大小下限response:enabled: true #开启相应压缩 logging:level:org.example.order.feign.ProductFeignClient: debug #配置具体接口的日志级别 总结 两种服务调用及负载均衡技术LoadBalanced方式和OpenFeign的方式。 1.LoadBalanced方式是借助于RestTemplate方式进行可以直接使用服务名称来调用但需要拼接URL。 2.OpenFeign的方式是通过声明接口并注入接口进行调用避免了拼接URL的麻烦。 完成enjoy it!
http://www.pierceye.com/news/652832/

相关文章:

  • 台州公司网站外包自己做网站运营
  • 聚名网站专业团队p图
  • 网站推广排名收费徐家汇网站建设
  • 做app软件大概多少钱宁波seo优化项目
  • 网站建设土豆视频教程最专业微网站首选公司
  • 合肥做检查军大网站家装公司名称
  • 网站搜索怎么做的苏州网站建设介绍
  • 免费微网站建设地图标注收费属于违法行为吗
  • 网站开发工程师php岗位职责企业网站案例展示
  • 青岛网站营销推广网站工作室设计
  • 网站可以增加关键词吗做网站也是一门技术
  • 长沙 外贸网站建设公司排名传统文化传播公司网站建设
  • 站群seo技巧1 企业网站的一般内容是什么
  • 广东省城乡建设厅投诉网站首页wordpress posts
  • 泰安建设厅网站怎样给公司做一个网站
  • 扶贫网站开发的目的是什么2023年舆情分析报告
  • 河南建设银行处理违章网站网站做支付需要准备什么东西吗
  • 网站设置不能通过链接访问比较好的源码网站
  • 深圳做网站联雅空间业务建设网站
  • 合肥企业网站设计制作莱芜杂谈 莱芜话题
  • 大圣网站建设为什么不推荐大家去外包公司
  • 做网站手机版wordpress如何换成经典编辑器
  • 建设网站的知识企业做网站设计的
  • 西安网站排名分析软文营销把什么放在第一位
  • 织梦手机网站模板删除不了宁波网站建设服务商
  • 深圳网站建设最专业网站seo技术
  • 定制网站开发一般多少钱郑州哪家公司做网站好
  • jsp做的网站效果给你一个网站你怎么做的吗
  • 怎样做网站海报wordpress最近怎么又是5.0更新
  • 淡水网站建设哪家便宜设计网页分析