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

建设网站目的是什么canva可画ppt模板

建设网站目的是什么,canva可画ppt模板,公司做分享网站好吗,定制网站开发广安广播电台在 Spring Cloud 中#xff0c;主要有以下几种通信方式#xff1a; 一、基于 HTTP 的 RESTful API 工作原理#xff1a; 这是一种常见的通信方式#xff0c;各个微服务通过发送 HTTP 请求来相互调用。服务提供者暴露 RESTful API 接口#xff0c;服务消费者通过 HTTP 客户…在 Spring Cloud 中主要有以下几种通信方式 一、基于 HTTP 的 RESTful API 工作原理 这是一种常见的通信方式各个微服务通过发送 HTTP 请求来相互调用。服务提供者暴露 RESTful API 接口服务消费者通过 HTTP 客户端如RestTemplate、Feign等发送请求。 例如一个订单服务需要查询商品信息它可以通过 HTTP 请求调用商品服务提供的 API 接口。 优点 简单易用基于广泛使用的 HTTP 协议开发人员熟悉度高。 与语言无关不同语言实现的微服务可以方便地进行通信。 可以利用 HTTP 的各种特性如缓存、认证、授权等。 缺点 相对来说性能可能不如其他通信方式因为 HTTP 协议有一定的开销。 对于高性能、低延迟的场景可能不太适合。 二、基于 RPCRemote Procedure Call的通信 以 Dubbo 在 Spring Cloud 中的应用为例 Dubbo 是一个高性能的 RPC 框架可以与 Spring Cloud 集成。通过 Dubbo服务提供者和服务消费者之间可以进行高效的远程方法调用。 例如使用 Dubbo 时服务提供者将服务注册到注册中心服务消费者从注册中心获取服务提供者的地址列表然后通过 RPC 调用服务提供者的方法。 优点 性能高通常比基于 HTTP 的通信方式更快。 可以支持多种序列化方式如 Hessian、JSON、Protobuf 等满足不同场景的需求。 缺点 相对复杂需要引入额外的框架和依赖。 与特定的 RPC 框架绑定可能会限制技术选型的灵活性。 三、消息队列Message Queue 工作原理 各个微服务通过发送和接收消息来进行通信。服务生产者将消息发送到消息队列服务消费者从消息队列中获取消息并进行处理。 例如一个订单服务在订单创建成功后将订单信息发送到消息队列库存服务从消息队列中获取订单信息并进行库存扣减操作。 优点 解耦服务之间的直接依赖提高系统的可扩展性和容错性。 可以实现异步通信提高系统的响应速度和吞吐量。 缺点 引入了额外的中间件增加了系统的复杂性。 需要处理消息的顺序性、重复消费等问题。 总之Spring Cloud 中可以根据具体的业务需求和场景选择合适的通信方式。HTTP 的 RESTful API 简单易用适合大多数场景RPC 通信性能高适合对性能要求较高的场景消息队列适合解耦和异步通信的场景。 四、基于 HTTP 的 RESTful API的实现 一、主要有两种 RestTemplate 方式 Feign 的方式 二、RestTemplate 方式 RestTemplate 中也分为三种方式 简单来演示一下吧 第一种方式 直接使用 RestTemplate url 写死 服务端编写 /** 用来测试与 order 服务的连接 author ccyang date 2018/7/1 16:06 */ RestController public class serverController { GetMapping(“/getMsg”) public String getMsg(){ return “this is product’ msg”; } } 客户端编写 /*** author ccyang* date 2018/7/1 16:13*/RestControllerSlf4jpublic class clientController {​GetMapping(/getProductMsg)public String getProductMsg(){​RestTemplate restTemplate new RestTemplate();String response restTemplate.getForObject(http://localhost:8080/getMsg,String.class);log.info(response {} , response);return response;}​}​ 然后去访问 http://localhost:8080/getMsg 即可。 因为服务端的 api 被硬编码在客户端因此有两个缺点 – 当注册中心有很多服务时我们可能不知道我们需要的服务由谁提供、api是多少因此就可能无法调用到服务。 –当某个服务部署了多个例如 api 是 “localhost:9080/getMsglocalhost:9081/getMsg “那么此时就需要负载均衡这种硬编码显然不符合场景。 第二种方式 service端代码依旧客户端通过 LoadBalancerClient 来获取应用名进而获取地址和端口在格式化拼接地址从而调用 product服务。如下 /** 测试获取 product服务的msg author ccyang date 2018/7/1 16:13 */ RestController Slf4j public class clientController { Autowired private LoadBalancerClient loadBalancerClient; GetMapping(“/getProductMsg”) public String getProductMsg(){   RestTemplate restTemplate new RestTemplate();ServiceInstance serviceInstance loadBalancerClient.choose(PRODUCT); // serviceId 为提供服务的应用名String url String.format(http://%s:%s,serviceInstance.getHost(),serviceInstance.getPort() /getMsg);String response restTemplate.getForObject( url, String.class);log.info(response {} , response);return response;123456 } } 缺点是每次调用服务都要这样写编码很麻烦。 第三种方式 通过 LoadBalanced可在restTemplate 直接使用应用名字。 Component public class RestTemplateConfig { Bean LoadBalanced public RestTemplate restTemplate(){ return new RestTemplate(); } } RestController Slf4j public class clientController {  Autowiredprivate RestTemplate restTemplate;​GetMapping(/getProductMsg)public String getProductMsg(){​String response restTemplate.getForObject( http://PRODUCT/getMsg, String.class); // 通过应用名进行访问log.info(response {} , response);return response;}12345678910 } 三、使用 Feign 的方式进行通信 声明式 REST客户端伪 RPC 采用了基于接口的注解 先看看如何使用 Feign: \1. 添加依赖 !-- add feign , note: must add version --dependencygroupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-feign/artifactIdversion1.4.4.RELEASE/version/dependency​2. 添加注解到主类上​​EnableFeignClients​3. 定义要调用的接口​​FeignClient(name product) // 服务名public interface ProductClient {​GetMapping(/getMsg) // 这里要和 Product服务提供的接口一致String productMsg();​}​​4. 在该使用的地方使用注解中提供的方法​​RestControllerSlf4jpublic class clientController {​Autowiredprivate ProductClient productClient; // 有报错不影响GetMapping(/getProductMsg)public String getProductMsg(){​String response productClient.productMsg();log.info(response {} , response);return response;}}​ Feign 可以看做是一个伪 RPC而且HTTP远程调用对开发者完全透明。 RestTemplate 内部使用 Ribbon做负载均衡 Feign 内部也是使用的Ribbon做负载均衡 参考springCloud 服务间的两种通信方式_springcloud项目之间是如何通信的-CSDN博客
http://www.dnsts.com.cn/news/53437.html

相关文章:

  • 凡科网站制作教程山西省
  • wordpress 多站点建站教程成都网站制作报价
  • 手机网站模板代码打电话做网站的话术
  • 上海建站网站简洁案例网络规划设计师月薪
  • 了解网站的建设心得电子商务的特点
  • 临沂做网站企业许昌市住房城乡建设局网站
  • 本地岑溪网站开发怎么做推广
  • 如何安装免费wordpress主题图片网站怎么做优化
  • 网站vip功能怎么实现seowhy教研室
  • 一流网站模板django网站开发视频教程下载
  • 免费推广网站平台排名wordpress不显示头像
  • 娃哈哈网站建设的目标装修公司室内装饰
  • 做论坛网站需要什么备案兰州模板型网站建设
  • 无需登录网页小游戏网站wordpress搜索 主题
  • 关于网站建设的策划案做慕课的网站
  • 黔西南北京网站建设网络营销推广方法餐饮
  • 免费的短视频app大全安卓seo文章代写一篇多少钱
  • 银川制作网站长沙百度网站制作
  • 网约车平台app网站建设杭州网站优化推荐
  • 古色古香的网站模板广西腾达建设集团有限公司网站
  • 网站设计方面有什么公司地方门户网站建设要求
  • 网站建设任职要求临西县建设网站
  • 嘉定网站建设哪家好爱站网关键词怎么挖掘
  • 上海崇明林业建设有限公司 网站网站接入服务单位名称
  • 如何备份wordpress网站网页设计与网站建设
  • 前端做兼职网站wordpress视频插件下载
  • 免费建站网站seo云一网站公司
  • 北京网站名称注册证书马达加工东莞网站建设
  • 许昌城乡建设局网站电子商务网站建设发展报告
  • 深圳网站制作公司流程无锡关键词优化价格