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

网站建设征求意见分析报告品牌设计的要求有哪些

网站建设征求意见分析报告,品牌设计的要求有哪些,网站 栏目添加 文章不显示,信息流优化师需要具备哪些能力通过《Spring Cloud Alibaba基础教程#xff1a;使用Nacos实现服务注册与发现》一文的学习#xff0c;我们已经学会如何使用Nacos来实现服务的注册与发现#xff0c;同时也介绍如何通过LoadBalancerClient接口来获取某个服务的具体实例#xff0c;并根据实例信息来发起服务…通过《Spring Cloud Alibaba基础教程使用Nacos实现服务注册与发现》一文的学习我们已经学会如何使用Nacos来实现服务的注册与发现同时也介绍如何通过LoadBalancerClient接口来获取某个服务的具体实例并根据实例信息来发起服务接口消费请求。但是这样的做法需要我们手工的去编写服务选取、链接拼接等繁琐的工作对于开发人员来说非常的不友好。所以接下来我们再来看看除此之外还支持哪些其他的服务消费方式。 使用RestTemplate 在之前的例子中已经使用过RestTemplate来向服务的某个具体实例发起HTTP请求但是具体的请求路径是通过拼接完成的对于开发体验并不好。但是实际上在Spring Cloud中对RestTemplate做了增强只需要稍加配置就能简化之前的调用方式。 比如 EnableDiscoveryClientSpringBootApplicationpublic class TestApplication { public static void main(String[] args) { SpringApplication.run(TestApplication.class, args); } Slf4j RestController static class TestController { Autowired RestTemplate restTemplate; GetMapping(/test) public String test() { String result restTemplate.getForObject(http://alibaba-nacos-discovery-server/hello?namedidi, String.class); return Return : result; } } Bean LoadBalanced public RestTemplate restTemplate() { return new RestTemplate(); }}可以看到在定义RestTemplate的时候增加了LoadBalanced注解而在真正调用服务接口的时候原来host部分是通过手工拼接ip和端口的直接采用服务名的时候来写请求路径即可。在真正调用的时候Spring Cloud会将请求拦截下来然后通过负载均衡器选出节点并替换服务名部分为具体的ip和端口从而实现基于服务名的负载均衡调用。 关于这种方式可在文末仓库查看完整代码示例。而对于这种方式的实现原理可以参考我之前写的这篇文章的前半部分Spring Cloud源码分析二Ribbon 使用WebClient WebClient是Spring 5中最新引入的可以将其理解为reactive版的RestTemplate。下面举个具体的例子它将实现与上面RestTemplate一样的请求调用 EnableDiscoveryClientSpringBootApplicationpublic class TestApplication { public static void main(String[] args) { SpringApplication.run(TestApplication.class, args); } Slf4j RestController static class TestController { Autowired private WebClient.Builder webClientBuilder; GetMapping(/test) public MonoString test() { MonoString result webClientBuilder.build() .get() .uri(http://alibaba-nacos-discovery-server/hello?namedidi) .retrieve() .bodyToMono(String.class); return result; } } Bean LoadBalanced public WebClient.Builder loadBalancedWebClientBuilder() { return WebClient.builder(); }}可以看到在定义WebClient.Builder的时候也增加了LoadBalanced注解其原理与之前的RestTemplate时一样的。关于WebClient的完整例子也可以通过在文末的仓库中查看。 使用Feign 上面介绍的RestTemplate和WebClient都是Spring自己封装的工具下面介绍一个Netflix OSS中的成员通过它可以更方便的定义和使用服务消费客户端。下面也举一个具体的例子其实现内容与上面两种方式结果一致 第一步在pom.xml中增加openfeign的依赖 dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-openfeign/artifactId/dependency第二步定义Feign客户端和使用Feign客户端 EnableDiscoveryClientSpringBootApplicationEnableFeignClientspublic class TestApplication { public static void main(String[] args) { SpringApplication.run(TestApplication.class, args); } Slf4j RestController static class TestController { Autowired Client client; GetMapping(/test) public String test() { String result client.hello(didi); return Return : result; } } FeignClient(alibaba-nacos-discovery-server) interface Client { GetMapping(/hello) String hello(RequestParam(name name) String name); }}这里主要先通过EnableFeignClients注解开启扫描Spring Cloud Feign客户端的功能然后又创建一个Feign的客户端接口定义。使用FeignClient注解来指定这个接口所要调用的服务名称接口中定义的各个函数使用Spring MVC的注解就可以来绑定服务提供方的REST接口比如下面就是绑定alibaba-nacos-discovery-server服务的/hello接口的例子。最后在Controller中注入了Client接口的实现并调用hello方法来触发对服务提供方的调用。关于使用Feign的完整例子也可以通过在文末的仓库中查看。 深入思考 如果之前已经用过Spring Cloud的读者肯定会这样的感受不论我用的是RestTempalte也好、还是用的WebClient也好还是用的Feign也好似乎跟我用不用Nacos没啥关系我们在之前介绍Eureka和Consul的时候也都是用同样的方法来实现服务调用的不是吗 确实是这样对于Spring Cloud老手来说就算我们更换了Nacos作为新的服务注册中心其实对于我们应用层面的代码是没有影响的。那么为什么Spring Cloud可以带给我们这样的完美编码体验呢实际上这完全归功于Spring Cloud Common的封装由于在服务注册与发现、客户端负载均衡等方面都做了很好的抽象而上层应用方面依赖的都是这些抽象接口而非针对某个具体中间件的实现。所以在Spring Cloud中我们可以很方便的去切换服务治理方面的中间件。 代码示例 本文示例读者可以通过查看下面仓库 Githubhttps://github.com/dyc87112/SpringCloud-Learning/Giteehttps://gitee.com/didispace/SpringCloud-Learning/ 其中本文的几种示例可查看下面的几个项目 alibaba-nacos-discovery-server服务提供者必须启动alibaba-nacos-discovery-client-resttemplate使用RestTemplate消费alibaba-nacos-discovery-client-webclient使用WebClient消费alibaba-nacos-discovery-client-feign使用Feign消费 如果您对这些感兴趣欢迎star、follow、收藏、转发给予支持 以下专题教程也许您会有兴趣 Spring Boot基础教程Spring Cloud基础教程
http://www.yutouwan.com/news/483375/

相关文章:

  • 黄平网站制作WordPress搭建點播流媒體
  • 无忧建站深圳工程建设服务网
  • 企业网站免费建站seo软件简单易排名稳定
  • 联兴建设官方网站有什么网站可以免费建站免费建网站
  • 济南网站制作公司哪家技术好华夏名网网站建设
  • 网站开发公司开发过程江苏炒股配资网站开发
  • 西安网站建设那家强做网站导航用什么开元程序
  • 建设机械网站策划郑州手机网站制作公司哪家好
  • 濮阳公司网站建设企业品牌网站建设绿d茶
  • 一个商城网站开发周期如何给网站划分栏目
  • 利川市网站建设女生学数字媒体技术难吗
  • 樟木头的建网站公司公司网站发布流程
  • 网站颜色搭配实例河北沧州建设官方网站
  • 网站500错误是什么意思免费人脉推广官方软件
  • 无锡网站推广装潢设计专业就业前景
  • 怎么提升网站的流量吗市场监督管理局是工商局吗
  • 青岛网站开发工资有什么网站可以做微信
  • 济南网站建设哪家便宜自己做的网站怎么发布上
  • 自己做的网站怎样链接数据库软文写作要求
  • 顺义网站建设公司wordpress 云备份
  • 制作网站学什么专业世界500强企业中国占了多少个
  • 网站建设培训机构做网站怎么弄
  • 合肥做网站联系方式成都广告公司有哪些
  • 有什么网站可以做设计兼职的阿里云二级域名建设网站
  • 做网站模板的网页名称是m开头在线平面广告设计
  • 做软件赚钱还是做网站赚钱厦门市做网站优化
  • 阿里巴巴网站做推广效果怎么样怎么给自己的网站做模版
  • 选择网站设计公司佛山西安家政公司网站建设
  • 网站自然排名这么做番禺网站制作技术
  • 配送网站开发设计师对网站的意义