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

网站建设 备案什么意思提升网站收录

网站建设 备案什么意思,提升网站收录,做任务兼职赚钱的网站有哪些,康定网站建设公司自 Spring 5 以来#xff0c;WebClient已成为Spring WebFlux的一部分#xff0c;并且是发出 HTTP 请求的首选方式。它是经典RestTemplate的首选替代方案#xff0c;后者自 Spring 5.0 以来一直处于维护模式。 本文将讨论 Spring WebClient和RestTemplate类之间的主要区别。…自 Spring 5 以来WebClient已成为Spring WebFlux的一部分并且是发出 HTTP 请求的首选方式。它是经典RestTemplate的首选替代方案后者自 Spring 5.0 以来一直处于维护模式。 本文将讨论 Spring WebClient和RestTemplate类之间的主要区别。 1. WebClient和RestTemplate快速比较 特征 WebClient RestTemplate 反应式编程 基于反应式原则构建并支持反应式编程。 同步而不是为反应式编程而设计。 技术 构建在反应式技术栈上。 构建在 Servlet 技术栈上。 线程模型 采用非阻塞I/O适合处理大量并发请求。 使用阻塞 I/O在高并发场景下可能会导致线程阻塞。 Java版本 需要 Java 8 或更高版本。支持函数式编程。 与 Java 6 或更高版本兼容。 错误处理 使用onErrorResume、onErrorReturn等运算符提供强大的错误处理。 错误处理通常使用 try-catch 块完成。 流媒体 支持使用Flux和Mono流式传输数据适合反应式流式场景。 对流的支持有限不太适合反应式流。 用例 最适合微服务、反应式应用以及需要高并发的场景。 适用于传统的整体应用程序和简单的用例。 依赖关系 需要Spring WebFlux依赖项。 需要Spring Web依赖。 未来的支持 与反应式编程模型保持一致并可能会得到持续的开发和支持。 可能会维护更新将来可能不会受到那么多关注。 2. 阻塞RestTemplate与非阻塞WebClient对比 2.1.RestTemplate RestTemplate本质上是阻塞的并使用 Java Servlet API 的每个请求一个线程模型。这意味着RestTemplate一旦向远程服务器发送请求就会等待响应。默认情况下每次RestTemplate都会创建新的并在收到并处理响应后关闭连接。Httpconnection 创建和关闭 URL 连接是一项成本高昂的操作。为了在生产类应用程序中有效地使用RestTemplate 我们必须使用HTTP 连接池否则性能会快速下降。当应用程序中有大量请求时线程和连接的数量也会按比例增加。这会给服务器资源带来负担。如果服务器速度缓慢用户很快就会发现应用程序性能下降甚至无响应。 请注意RestTemplate 是线程安全的并且可以随时在多个连接之间共享单个实例。 Service public class MyService {private final RestTemplate restTemplate;Autowiredpublic MyService(RestTemplate restTemplate) {this.restTemplate restTemplate;}public String getData() {ResponseEntityString responseEntity restTemplate.getForEntity(https://api.example.com/data, String.class);String responseBody responseEntity.getBody();return responseBody;} } 2.2.WebClient 与RestTemplate相反WebClient本质上是异步且非阻塞的。它遵循 Spring WebFlux 反应式框架的事件驱动架构。使用WebClient客户端无需等待响应返回。相反当服务器有响应时它将使用回调方法收到通知。 当我们通过WebClient调用返回 Mono或 Flux 的API 时API 会立即返回。而调用结果将通过 mono 或 flux 回调传递给调用端。 请注意如果需要我们可以通过WebClient.block()方法实现类似RestTemplate的同步处理。 Service public class MyService {private final WebClient webClient;Autowiredpublic MyService(WebClient webClient) {this.webClient webClient;}public MonoString getData() {return webClient.get().uri(/data).retrieve().bodyToMono(String.class).subscribe(// onSuccess callbackresult - {System.out.println(Success: result);},// onError callbackerror - {System.err.println(Error: error.getMessage());});} } 3.结论 从上面可以清楚地看出 WebClient和RestTemplate之间唯一的大区别是它们的阻塞性质。RestTemplate会阻止请求线程而WebClient不会。我们可以使用WebClient来发出同步请求但反之则不行。RestTemplate无法发出异步请求。 虽然WebClient是未来使用的首选方式但 RestTemplate 应该会长期保留尽管没有添加任何新的核心功能。 在考虑使用WebClient 构建新应用程序时我们必须记住要构建真正的非阻塞应用程序必须以非阻塞方式创建/使用其所有组件即客户端、控制器、中间服务甚至数据库。如果其中之一阻塞了请求目的就会落空。
http://www.w-s-a.com/news/138822/

相关文章:

  • 百度移动端网站网站建设设计思想
  • 青岛建设官方网站南宁制作企业网站
  • 校园网站建设管理工作制度大网站开发费用
  • 做logo赚钱的网站分类网站 模板
  • 网站建设完成报告织梦网站怎么做备份
  • 邯郸市城乡建设管理局网站vimwiki wordpress
  • 如何修改wordpress站名如何制作公司网站
  • 宁波网站建设与推广方案网站有了备案号之后能做什么
  • 汕头手机端建站模板pinterest app下载
  • 网站主机免费宁波网站建设优化诊断
  • 吧网站做软件的软件下载简单的ui界面制作
  • 陕西网站制作公司网页制作与设计代码
  • 做网站行情郑州微信网站开发
  • 河间网站建设制作null wordpress theme
  • h5网站制作网站开发网站建设文翻译工作
  • 网站建设 税种秦皇岛哪有网站优化公司
  • 专业开发网站设计找人做网页需要多少钱
  • 手机购物网站 建站网站建设网站制作网站设计
  • 基于iview的网站开发模板小程序制作需要什么语言
  • 精美网站设计保定建行网站首页登录
  • 网站建设常见问题做网站保存什么格式最好
  • 营销型网站建设与网页设计网站建设 amp 找VX cp5173
  • 新网站该如何做网站优化呢儿童手工
  • 湖北现代城市建设集团网站搜索引擎优化的作用
  • 上海做网站吧开一家软件开发公司需要什么
  • 阿里巴巴网站建设改图片建设厅官方网站河南
  • 邓砚谷电子商务网站建设镇江网
  • 网站空间支持什么程序工作服款式
  • 网站单页品牌网站建设 蝌蚪5小
  • 怎么做外贸网站需注意哪些做电脑系统的网站