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

asp.net手机网站开发教程24小时资源视频在线观看

asp.net手机网站开发教程,24小时资源视频在线观看,互联网行业有哪些,怎样做企业网站RestTemplate存在的问题 代码可读性差#xff0c;编程体验不统一参数复杂#xff0c;URL难以维护 Feign远程调用 Feign简介 ​ Feign是SpringCloud提供的一个声明式的伪Http客户端#xff0c;它使得调用远程服务就像调用本地服务一样简单#xff0c;只需要创建一个接口…RestTemplate存在的问题 代码可读性差编程体验不统一参数复杂URL难以维护 Feign远程调用 Feign简介 ​ Feign是SpringCloud提供的一个声明式的伪Http客户端它使得调用远程服务就像调用本地服务一样简单只需要创建一个接口并添加一个注解即可。Nacos很好的兼容了FeignFeign默认集成Ribbon所以在Nacos下默认使用Fegin默认就是实现了负载均衡的效果 官方地址https://github.com/OpenFeign/feign 基本使用 导入Fegin的依赖 !--fegin组件-- dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId /dependency在主类上添加Fegin的注解 EnableFeignClients // 开启Feign创建一个service并使用Fegin实现为服务调用 FeignClient(service-product)//声明调用的提供者的name public interface IProductService {//指定调用提供者的哪个方法// FeignClientGetMapping 就是一个完整的请求路径 http://service-product/product/{pid}GetMapping(value /product/{pid})Product findByPid(PathVariable(pid) Integer pid); }修改controller代码并启动验证 RestController public class OrderController {Autowiredprivate IProductService productService;Autowiredprivate IOrderService orderService;//Ribbon下单RequestMapping(/order/prod/{pid})public Order order(PathVariable(pid) Integer pid) {//通过fegin调用商品微服务Product product productService.findByPid(pid);//下单(创建订单)Order order new Order();order.setUid(1);order.setUsername(测试用户);order.setPid(pid);order.setPname(product.getPname());order.setPprice(product.getPprice());order.setNumber(1);orderService.createOrder(order);return order;} }重启order微服务查看效果 自定义配置 Feign支持很多的自定义配置如 类型作用说明feign.Logger.Level修改日志级别包括四种不同的界别NONE,BASIC,HEADERS,FULLfeign.coder.Decoder响应结果的解析器http远程调用的结果做解析例如解析json字符串为java对象feign.coder.Encoder请求参数编码将请求参数编码便于通过http请求发送feign.Contract支持的注解格式默认是SpringMVC的注解feign.Retryer失败重试机制请求失败的重试鸡翅默认是没有不会使用Ribbon的 重试 一般情况下默认值就能满足使用如果需要自定义时只需要创建自定义的Bean覆盖默认Bean即可 配置文件方式 基于配置文件修改fegin的日志级别就可以针对单个服务 feign:client:config:service-product: #针对某个微服务的配置loggerLevel: FULL #日志级别也可以针对所有服务 feign:client:config:default: #这里用default就是全局配置如果写服务名就是针对某个服务的配置loggerLevel: FULL #日志级别注意需要把日志级别设置 logging:level:com.apesource: debug而日志的级别分为四种 NONE不记录任何日志信息这是默认值BASIC仅记录请求的方法URL以及影响状态码和执行时间HEADERS在BASIC的基础上额外记录了请求和响应的头信息FULL记录所有的响应的明细包括头信息请求体元数据 Fegin使用优化 Feign底层发起http请求依赖于其他的宽街。其底层客户端实现包括 URLConnection默认实现不支持连接池Apache HttpClient支持连接池OKHttp支持连接池 因此提高Feign的性能主要手段就是使用连接池代替默认的URLConection 导入坐标openfeign也需要有 !--httpClient的依赖 -- dependencygroupIdio.github.openfeign/groupIdartifactIdfeign-httpclient/artifactId /dependency配置连接池 feign:client:config:default:loggerLevel: BASIChttp:client:enable: true #开启feign对HttpClient的支持max-connections: 200 #最大的连接数max-connections-per-route: 50 #每个路径的最大连接数总结 日志级别尽量使用Basic使用HttpClient或OKHttp代替 URLConnection 引入feign-httpClient依赖配置问价你开启httpClient功能设置连接池参数 Dubbo Dubbo简介 Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC分布式服务框架致力于提供高性能和透明化的RPC远程服务调用方案以及SOA服务治理方案。 Spring Cloud Alibaba微服务开发框架集成了Dubbo可实现微服务对外暴露Dubbo协议的接口Dubbo协议相比RESTful协议速度更快RPCRPC是远程过程 (Remote Procedure Cal) 的缩写形式调用RPC远程方法就像调用本地方法一样Dubbo之前阿里研发中间停止维护2年最后开启维护并捐献给Apache dubbo官网http://dubbo.io/ 上图是Dubbo的工作原理图从抽象架构上 分为两层服务治理抽象控制面和Dubbo数据面 **服务治理控制面**服务治理控制面不是特指如注册中心类的单个具体组件而是对 Dubbo 治理体系的抽象表达。控制面包含协调服务发现的注册中心、流量管控策略、Dubbo Admin 控制台等如果采用了 Service Mesh 架构则还包含 lstio 等服务网格控制面。**Dubbo数据面**据面代表集群部署的所有 Dubbo 进程进程之间通过 RPC 协议实现数据交换Dubbo 定义了微服务应用开发与调用规范并负责完成数据传输的编解码工作 服务消费者(Dubbo Consumer)发起业务调用或 RPC 通信的 Dubbo 进程服务提供者(Dubbo Provider)接收业务调用或 RPC 通信的 Dubbo 进程 基础实现 提供统一业务api 实战中将所有的服务接口设计给一个叫做api的服务单独维护 此服务需要导入common实体类服务的gav public interface IProductService{Procuct findById(Integer pid); }编辑服务提供者product 添加依赖 !--dubbo-- dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-dubbo/artifactId /dependency除dubbo依赖外还需要导入 api服务的gav 添加dubbo的配置 dubbo:scan:base-packages: com.apesource.service.imp #此处写接口实现类的包路径protocols:dubbo:name: dubbo #服务协议port: -1 #服务端口 -1代表随机端口registry:address: spring-cloud://localhost # 注册中心编写并暴露服务 Service // 暴露服务此处的Service是Dubbo提供的注解而不是Spring的注意导包 public class ProductServiceImp implements ProductService{AutoWiredprivate ProductMapper productMapper;Overridepublic Product findById(Integer pid){return productMapper.findById(pid);} }编辑服务消费者 添加依赖 !--dubbo-- dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-dubbo/artifactId /dependency添加dubbo配置 dubbo:registry:address: spring-cloud://localhost # 注册中心cloud:subscribed-services: service-product #订阅的提供者名称引用服务 RestController RequestMapping(/order) public class OrderController {Autowired(required false)private IOrderService orderService;// 引用服务Referenceprivate IProductService productService;// 模拟下订单业务RequestMapping(/save/{pid})public Order order (PathVariable(pid) int pid) {// 调用商品的微服务Product product productService.findById(pid);// 创建订单Order order new Order();order.setUid(1);order.setUsername(测试用户);order.setPid(pid);order.setPname(product.getPname());order.setPprice(product.getPprice());order.setNumber(1);orderService.save(order);return order;} }
http://www.zqtcl.cn/news/225414/

相关文章:

  • 中山品牌网站设计自建站怎么做
  • 最牛免费网站建设wordpress 相册功能
  • 网站开发是培训网站开发毕业设计评审表
  • 网站对网友发帖隐私做处理网站怎么上传模板
  • 网站建设大神级公司网站 百度地图
  • 网站营销定义高端网站建设免费分析
  • 韩国网站建站html5修改器下载
  • 网站做联盟广告能赚钱吗如何制作微信小程序教程
  • 免费网页代理浏览器1广州seo效果
  • 网站开发所需基础知识学网络营销有前途吗
  • php网站怎么做集群wordpress添加产品图
  • 公司怎么建立网站吗聊城高端网站建设
  • 女生做网站编辑wordpress 办公主题
  • 接单做网站的从什么网站建网站好
  • 服务器如何发布网站正能量不良网站进入窗口免费阅读
  • 深圳个性化建网站服务商百度秒收录神器
  • 金华做公司网站wordpress会员可见插件
  • 访问自己做的网站河南百度推广公司
  • Wordpress+仿站+工具建筑材料采购网站
  • 汕头免费建设网站制作阆中市网站建设
  • 怎样做网站表白墙网站设计的一般流程是什么
  • 河北手机网站制作企业网页设计的基本步骤和流程
  • 企业网站内容如何更新软件开发公司网站模板
  • 北京网站建设收费长沙有哪个学校可以学网站建设
  • 南江网站建设中国最好的app开发公司
  • 简单旅游网站开发建立网站的三种方式
  • 大连网站的优化网站设计 优帮云
  • 梧州网站seo表白网站在线生成免费
  • 网站制作体会php网站开发答案
  • 南阳响应式网站淘宝上成都网站建设