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

杭州e时代网站建设网络营销推广要求

杭州e时代网站建设,网络营销推广要求,崇明做网站公司,一个域名一个主机可以做两个网站吗LoadBalancer Spring Cloud LoadBalancer是Spring Cloud中负责客户端负载均衡的模块#xff0c;其主要原理是从nacos中获取服务列表通过选择合适的服务实例来实现负载均衡。 源码跟踪 可以看到这里的intercept()方法#xff0c;拦截了用户的HttpRequest请求#xff0c;然…LoadBalancer  Spring Cloud LoadBalancer是Spring Cloud中负责客户端负载均衡的模块其主要原理是从nacos中获取服务列表通过选择合适的服务实例来实现负载均衡。 源码跟踪 可以看到这里的intercept()方法拦截了用户的HttpRequest请求然后做了几件事 1、request.getURI()获取请求uri本例中就是 http://spzx-cloud-user/api/user/findUserByUserId/1 2、originalUri.getHost()获取uri中的服务idspzx-cloud-user 3、this.loadBalancer.execute()处理服务id和用户请求。 这里的this.loadBalancer是BlockingLoadBalancerClient类型我们继续跟入。 choose(String serviceId)方法做了两件事 1、获取一个loadBalancer负载均衡器对象,默认类型为RoundRobinLoadBalancer轮询 2、根据服务的id从Nacos注册中心中获取服务地址列表从服务列表中选择一个服务实例对象loadBalancerResponse包括实例的ip和port 更改负载均衡算法 LoadBalancer默认的负载均衡算法是RoundRobinLoadBalancer如果想更改默认的负载均衡算法那么此时需要向Spring容器中注册一个Bean并且配置负载均衡的使用者。 代码如下所示 1、在Spring容器中注册一个Bean订单服务创建配置类 public class CustomLoadBalancerConfiguration {//创建一个bean类型为RandomLoadBalancer随机BeanReactorLoadBalancerServiceInstance randomLoadBalancer(Environment environment, LoadBalancerClientFactory loadBalancerClientFactory) {String name environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);return new RandomLoadBalancer(loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class), name);} } 2、配置负载均衡算法的使用者 Configuration LoadBalancerClients(value {LoadBalancerClient(name spzx-cloud-user , configuration CustomLoadBalancerConfiguration.class) // 将负载均衡算法应用到指定的服务提供方中 }) public class RestTemplateConfiguration {BeanLoadBalanced // 让RestTemplate具有负载均衡的能力public RestTemplate restTemplate() {return new RestTemplate() ;}} 重启服务  重启服务后可以看出 负载均衡算法已经被修改。 OpenFeign OpenFeign 是一个Web声明式的Http客户端远程远程调用工具底层是封装HttpClient技术提供接口和注解形式调用。  亦在解决 restTemplate 进行远程调用的弊端。 由于通过restTemplate 进行服务调用时参数传递不够灵活所以我们这里采用了 openFeign来替代 redisTemplate OpenFeign的配置 1. 在我们自己的微服务中引入openFeign的依赖 !-- 加入OpenFeign的依赖 -- dependency     groupIdorg.springframework.cloud/groupId     artifactIdspring-cloud-starter-openfeign/artifactId /dependency 2、在启动类上添加 EnableFeignClients 注解开启OpenFeign的功能支持 3.编写OpenFeign的客户端 package com.atguigu.spzx.cloud.order.feign; FeignClient(value spzx-cloud-user)        // 声明当前接口是一个访问user-service的feign的客户端 public interface UserFeignClient {     GetMapping(/api/user/findUserByUserId/{userId})     public abstract User queryById(PathVariable(userId) Long userId) ;    // 根据userId查询用户信息的接口方法 } 这个客户端主要是基于SpringMVC的注解来声明远程调用的信息比如 ① 请求方式GET ② 请求路径/api/user/findUserByUserId/{userId} ③ 请求参数Long userId ④ 返回值类型User 这样Feign就可以帮助我们发送http请求无需自己使用RestTemplate来发送了。 4、修改微服务中的远程调用代码使用Feign客户端代替RestTemplate Service public class OrderServiceImpl implements OrderService {     Autowired     private OrderMapper orderMapper ;     Autowired     private UserFeignClient userFeignClient ;     Override     public Order findOrderByOrderId(Long orderId) {         Order order orderMapper.findOrderByOrderId(orderId);         // 远程调用         User user userFeignClient.queryById(order.getUserId());         order.setUser(user);         return order ;     } } OpenFeign自定义配置 日志配置 Feign提供了日志打印功能,我们在项目中可以通过配置来调整日志级别,从而了解Feign中http请求的细节 ,也就是说feign提供的日志功能可以对接口的调用情况进行监控和输出。 feign的日志的级别分为四种 ① NONE不记录任何日志信息这是默认值。 ② BASIC仅记录请求的方法URL以及响应状态码和执行时间 ③ HEADERS在BASIC的基础上额外记录了请求和响应的头信息 ④ FULL记录所有请求和响应的明细包括头信息、请求体、元数据。 1.明配置类 public class DefaultFeignConfiguration  {     Bean     public Logger.Level feignLogLevel(){         return Logger.Level.FULL; // 日志级别为FULL     } } 2、如果要全局生效将其放到微服务的启动类的EnableFeignClients这个注解中 EnableFeignClients(defaultConfiguration DefaultFeignConfiguration .class)  3、如果是局部生效则把它放到对应的FeignClient这个注解中 FeignClient 是自定义的配置类用于进行配置openFeign的远程调用的。 FeignClient(value spzx-cloud-user, configuration DefaultFeignConfiguration .class) 4、在配置文件中配置 debug级别打印   logging:   level:     com.atguigu.spzx.cloud.order.feign: debug
http://www.zqtcl.cn/news/895439/

相关文章:

  • 顺德中小企业网站建设宁乡市建设局网站
  • 静态网页模板 网站模板兰州做网站价格
  • 吕梁推广型网站建设godaddy托管 wordpress
  • 什么网站百度收录好珠海哪里做网站的
  • 如何介绍网站模板金融网站模版
  • 网站内链怎么优化e时代网站制作
  • 记事本做网站素材代码国内十大4a广告公司
  • 一米八效果图网站商业网站平台
  • 做搜狗手机网站优化产品推广计划怎么写
  • 网站链接优化怎么做ftp服务器
  • 什么网站可以接单做海报网站信息员队伍建设方案
  • 淘宝联盟 网站怎么做网站运营推广方案设计
  • 网站建设数据库类型百度seo现状
  • 德州网站优化公司平面设计公司企业logo设计
  • 山东平台网站建设价位网站广告文案
  • 可以做哪方面的网站万网董事长是谁
  • 京东网站开发费用程序员找工作的网站
  • 怎么做网站首页psdwordpress 注册验证
  • 商丘做网站的公司有哪些郑州网站公司排名
  • 竞价网站与竞价网站之间做友情链接企业邮箱查询
  • 国外jquery网站wordpress 下一页 模板
  • 安卓手机做网站云南建设厅网站职称评定
  • 国外域名注册商网站邮箱登陆登录入口
  • 男女做那个的网站是什么深圳市8号公告
  • 做网站收款支付宝接口廊坊市网站建设公司
  • 文档下载网站 建设做cpa用什么网站
  • 网站制作合同注意事项百度网页版电脑版
  • 怎样做模板网站手机营销型网站制作
  • 如何采集网站内容如何做网站导航栏的搜索引擎优化
  • 网站关键词排名外包织梦大气婚纱影楼网站源码