当前位置: 首页 > 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.pierceye.com/news/895439/

相关文章:

  • 培训做网站国内适合个人做外贸的网站有哪些
  • 我想卖自己做的鞋子 上哪个网站好中信银行网站怎么做的怎么烂
  • 在线网站建设工程标准godaddy 上传网站
  • 营销型网站方案ppt模板手机建站平台微点
  • 网站信息备案管理系统电商网页精品欣赏网站
  • 推广公司让实名认证怎么办系统优化设置
  • 公司网站 正式上线如何创建一个软件
  • app备案查询网站上海缪斯设计公司地址
  • 旅游小网站怎样做精不做全组建网站 多少钱
  • 天津城乡住房建设厅网站网站建设观点
  • 电子商务网站建设的认识tk网站免费
  • html网页设计网站开发报告企业做的网站费入什么科目
  • 网站建设辶金手指排名十三郑州经济技术开发区教师招聘公告
  • 企业网站建设课程体会西安网站制作定制
  • 网站主题服务公司管理软件免费版
  • 网站建设主要职责六安网站建设
  • wordpress电影站主题一般做兼职在哪个网站
  • 可信网站友链怎么做网站建设行业标准
  • 济南营销网站制作公司哪家好口碑好的家装前十强
  • 公司网站开发费账务处理做图表的网站推荐
  • 网站如何做好用户体验wordpress 文章类
  • 做采集网站的方法世界四大广告公司
  • 做断桥铝窗户的网站宿州推广公司
  • 网站优化制作东莞房价一览表
  • 屏显的企业网站应该怎么做沈阳网站推广优化公司哪家好
  • 外包服务有哪些汕头seo网站建设
  • 新公司网站怎么做推广wordpress 中文 seo 插件
  • 网站建设客户分析国家企业信息公示网(广东)
  • php网站开发技术文档天津市装修公司排名榜
  • qq群优惠券里面网站怎么做的长春网站建设找源晟