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

单位网站建设情况什么推广平台比较好

单位网站建设情况,什么推广平台比较好,环球军事网最新军事新闻,制作网站开发多少钱目录前言SpringCloud Feign远程服务调用一.需求二.两个服务的yml配置和访问路径三.使用RestTemplate远程调用(order服务内编写)四.使用Feign远程调用(order服务内配置)五.自定义Feign配置(order服务内配置)六.Feign配置日志(oder服务内配置)七.Feign调优(order服务内配置)八.抽… 目录前言SpringCloud Feign远程服务调用一.需求二.两个服务的yml配置和访问路径三.使用RestTemplate远程调用(order服务内编写)四.使用Feign远程调用(order服务内配置)五.自定义Feign配置(order服务内配置)六.Feign配置日志(oder服务内配置)七.Feign调优(order服务内配置)八.抽离Feign前言 微服务分解成多个不同的服务那么多个服务之间怎么调用呢(想要微服务项目点赞收藏评论找我拿) SpringCloud组件原理和面试题 SpringCloud Feign远程服务调用 一.需求 现在有两个服务订单服务和用户服务分别对应不同的数据库。 在 查询订单的时候把所属的用户信息一起查出来。 二.两个服务的yml配置和访问路径 用两个不同的数据库模拟部署在两台服务器的数据库订单yml配置 访问路径GetMapping(order/{orderId}) server:port: 8082 spring:datasource:url: jdbc:mysql://localhost:3306/cloud_order?useSSLfalseusername: rootpassword: rootdriver-class-name: com.mysql.jdbc.Driverapplication:name: orderservice //订单服务的名称用户yml配置 访问路径GetMapping(user/{id}) server:port: 8081 spring:datasource:url: jdbc:mysql://localhost:3306/cloud_user?useSSLfalseusername: rootpassword: rootdriver-class-name: com.mysql.jdbc.Driverapplication:name: userservice //用户服务的名称三.使用RestTemplate远程调用(order服务内编写) (1) 注入RestTemplate /*** 因为启动类本身也是一个配置了所以我们在启动类进行注入,你自己自定义配置类注入也行* 创建RestTemplate并注入Spring容器*/BeanLoadBalancedpublic RestTemplate restTemplate() {return new RestTemplate();}(2) 编写远程调用 Autowiredprivate RestTemplate restTemplate;public Order queryOrderById(Long orderId) {// 根据订单id查询订单Order order orderMapper.findById(orderId);// 利用RestTemplate发起http请求根据用户id查询用户// url路径 http://服务名称(上面配置了)/请求路径/参数String url http://userservice/user/ order.getUserId();// 发送http请求实现远程调用现在是get请求类型User user restTemplate.getForObject(url, User.class);// 封装user到Orderorder.setUser(user);// 返回值return order;}(3) RestTemplate的缺点 参数复杂URL难以维护。不符合正常接口调用的格式。 四.使用Feign远程调用(order服务内配置) (1) 引入依赖 !--feign客户端依赖--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId/dependency(2) 在启动类使用注解开启Feign功能 SpringBootApplication EnableFeignClients public class OrderApplication { }(3) 编写远程调用(在order项目内编写) //服务名称 FeignClient(value userservice) public interface UserClient {GetMapping(/user/{id})User findById(PathVariable(id) Long id);}(4) 调用接口 Autowiredprivate UserClient userClient;public Order queryOrderById(Long orderId) {// 根据订单id查询订单Order order orderMapper.findById(orderId);// 用Feign远程调用User user userClient.findById(order.getUserId());// 封装user到Orderorder.setUser(user);// 返回return order;}(5) Feign还集成了Ribbon所以我们不用考虑负载均衡问题 五.自定义Feign配置(order服务内配置) 类型作用说明feign.Logger.Level修改日志级别四种不同的级别:NONE(没有任何日志)、BASIC(发起请求的开始结束时间)、HEADERS(会记录请求头请求体)、FULL(请求和响应信息)feign.codec.Decoder响应结果的解析器http远程调用的结果做解析例如解析json字符串为java对象feign.codec.Encoder请求参数编码将请求参数编码便于通过http请求发送feign. Contract支持的注解格式默认是SpringMVC的注解feign. Retryer失败重试机制请求失败的重试机制默认是没有不过会使用Ribbon的重试 一般我们自定义配置的是日志 六.Feign配置日志(oder服务内配置) (1) 配置文件配置日志 //全局配置 feignclientconfigdefault//default全局配置远程调用的服务的接口也会打印。loggerLevelFULL //日志级别//局部配置 feignclientconfigorderservice//只打印服务名为orderservice的日志。loggerLevelFULL //日志级别(2) 代码方式配置日志 //第一步注入对象 public class DefaultFeignConfiguration {Beanpublic Logger.Level logLevel(){//日志级别return Logger.Level.BASIC;} }//第二步注解配置//全局配置 EnableFeignClients(defaultConfiguration DefaultFeignConfiguration.class)//局部配置 FeignClient(value userservice,confiquration FeignClientConfiguration.class)七.Feign调优(order服务内配置) Feign底层客户端实现 URLConnection:默认实现不支持连接池。Apache HttpClient: 支持连接池。OKHttp:支持连接池。 (1) 使用连接池替代默认的URL Connection(使用HttpClient支持) ①pom文件引入依赖 !--引入HttpClient依赖--dependencygroupIdio.github.openfeign/groupIdartifactIdfeign-httpclient/artifactId/dependency②yml文件进行配置 feign:httpclient:enabled: true # 支持HttpClient的开关max-connections: 100 # 最大连接数max-connections-per-route: 25 # 单个路径的最大连接数(2) 日志级别最好是basic或none 八.抽离Feign 比如 订单、商品、库存服务都要调用用户服务那我们都需要重复写Feign调用用户服务这样造成了很多代码冗余所以我们要把Feign抽离出来放在一个公共的服务里面。我们新建一个 Feign-api服务然后谁用谁就在pom文件引入一下。 !--在order服务引入feign的统一api--dependencygroupIdcn.xinxin.demo/groupIdartifactIdfeign-api/artifactIdversion1.0/version/dependency但是这样做会导致SpringBootApplication在扫描包时找不到定义FeignClient对象那么怎么解决呢 解决 方式一:指定FeignClient所在包 EnableFeignClients(basePackages cn.xinxin.feign.clients)方式二:指定FeignClient字节码 EnableFeignClients(clients {UserClient.class})Feign-api结构目录 Feign的pom文件 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdcloud-demo/artifactIdgroupIdcn.xinxin.demo/groupIdversion1.0/version/parentmodelVersion4.0.0/modelVersionartifactIdfeign-api/artifactIdpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId/dependency/dependencies /project
http://www.hkea.cn/news/14468777/

相关文章:

  • 建设专业网站网络贵阳网络推广哪家专业
  • 企业简介模板免费上海高端seo公司
  • 做网站怎么样广州市南沙区基本建设办公室网站
  • 四川建设网网网站维护电话电脑网站显示安全证书有问题怎么解决
  • 有哪些学做衣服的网站有哪些网站建设中网页代码
  • 网站开发指南太原建设公司网页模板
  • 捷讯官网 网站建设海外建站推广
  • 苏州哪家做网站好些建设公司介绍
  • 网站建设手机银行修改登录密码广州网站建设在线
  • 做电商网站费用昆明做网站vr
  • 省财政厅门户网站三基建设门户设计理念
  • 广州网站搭建自己建设论坛网站
  • 广州网站设计唐山建设网站制作
  • 深圳公司网站制作滁州seo公司
  • 泰州网站建设优化廊坊企业免费建站
  • 网站建设能解决哪些问题软件开发工程师绩效考核
  • 网站建设框架程序无锡网络推广公司哪家好
  • html5大气网站东明县网站建设
  • 私自建立网站网站判决书营销型网站网站建设
  • 单产品网站建设电子网站建设心得
  • 莱芜网站优化招聘网织梦网站tag怎么做
  • 淘宝做网站推广个人博客系统的设计与实现
  • 房城乡建设部门户网站芜湖seo
  • 我的家乡湛江网站设计网站版面布局结构图
  • 虚拟网站仿制教程大连百度推广代理商
  • app网站制作公司施工企业平台
  • 怎么申请网站空间域名西安网站建设公司都有哪些
  • 有哪些网站可以推广深圳品牌手表
  • 宁波网站扔优化seo服务 文库
  • 郑州网站排名优化公司湖南企业网站制作公司