成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

微服務超全的設計選型參考

開發 前端
微服務架構模式的核心包含如下幾部分:微服務之間的 RPC 通信。Java Chassis 提供了非常高效的通信方式,并支持多協議擴展,比如最快的 REST 通信模式實現, 異步的二進制通信模式 HIGHWAY 。

[[320760]]

 微服務架構模式的核心包含如下幾部分:

  • 微服務之間的 RPC 通信。Java Chassis 提供了非常高效的通信方式,并支持多協議擴展,比如最快的 REST 通信模式實現, 異步的二進制通信模式 HIGHWAY 。
  • 分布式微服務實例和服務發現。結合 ServiceComb Service Center, 實現分布式、多集群服務發現能力,以及強大的微服務元數據管理能力。
  • 配置外置,動態、集中的配置管理。能夠使用 ServiceComb Kie, 華為云配置中心、 Nacos、 Apollo 等多種配置中心, 并且和 Spring Boot 配置管理能力完整融合。
  • 分布式故障管理,服務容錯、隔離、熔斷。內置故障實例隔離、故障重試、耗時接口隔離等重要分布式故障處理能力。可選使用 Hystrix 的 容錯、隔離、熔斷能力, 只需要做簡單的配置。
  • 分布式日志追蹤。提供 Open Tracing 支持。

此外還有性能監控,日志記錄系統、健康檢查等。Java Chassis 采用優雅的設計模式,實現了上述所有的核心部件的功能,并且使得這些功能 開箱即用。使用 Java Chassis , 開發者能夠更加聚焦于業務功能開發,快速的構建商業可用的微服務應用。

Java Chassis 的軟件工程實踐

Java Chassis 在設計的時候, 不僅考慮了如何更好的使用微服務架構模式, 還把優秀的軟件工程思想融合進來, 幫助開發者更好的管理信息 資產, 提升軟件工程管理能力。

下圖簡單的描述 “以契約為中心” 的核心概念。

 

微服務超全的設計選型參考

 

可以通過 Invocation 獲取到 Java Chassis 的契約等源數據信息, 是 Java Chassis 的一個核心對象。

Java Chassis 的運行時架構

為了支持軟件工程實踐, Java Chassis 的運行時架構是一個啞鈴結構, 兩端分別是“編程模型” 和 “通信模型”, 中間是“運行模型”。

 

微服務超全的設計選型參考

 

“編程模型” 面向開發者寫服務接口的習慣, “通信模型” 面向微服務之間的高效編碼和通信, “運行模型” 基于“契約”, 提供一種服務服務無關 的插拔機制,能夠讓開發者獨立于業務實現開發治理功能,并且靈活的移除和增加功能,以及調整這些治理功能的處理順序。

“運行模型” 的核心抽象接口是 Handler , 這個接口是一個異步的定義, Java Chassis 運行時模型采用純異步的實現, 讓整個系統運行非常 高效。

Java Chassis 微服務應用架構

有很多優秀的微服務應用架構實踐。微服務應用架構應該充分考慮系統的彈性, 能夠針對系統的性能瓶頸點進行擴容, 需要考慮應用系統內部微服務 拆分的靈活性, 為業務的變更做好及時調整。

下圖展示了一個典型的應用架構。接入層采用一些網絡基礎設施,比如 DNS , 浮動 IP 等方便用戶采用統一的 URL 訪問系統, 或者采用 API 網關等 基礎設施實現系統的能力開放。業務層包含應用網關, 進行一些認證鑒權、 審計等功能, 經過認證的請求被應用網關轉發到微服務系統內部。

 

微服務超全的設計選型參考

 

Java Chassis 微服務技術選型

Java 語言擁有龐大的技術體系和標準, 并且廣泛的應用到業務的系統的各個方面。和 Java Chassis 有緊密關系的技術包括 JSP/Servlet 標準 和容器, Spring 和 Spring Boot 技術, 以及 Spring Boot 提供的 REST 開發框架 Spring MVC。

Java Chassis 和 JSP/Servlet 標準

Java Chassis 不依賴于 JSP/Servlet 標準, 可以基于 Vert.x 的 HTTP 實現, 提供非常輕量級和高效的 REST 服務, 在性能要求高的核心 業務場景, 使用這種輕量級的技術非常合適。這種場景下, 沒有完整的實現 JSP/Servlet 相關接口, 比如 HttpServletRequest, HttpServletResponse 等。 servicecomb-samples ( https://github.com/apache/servicecomb-samples/tree/master/porter_lightweight ) 提供了一個完整的使用這種部署模式的例子。

Java Chassis 可以部署運行于 JSP/Servlet 容器里面, 在這個場景下, Java Chassis 的核心部件就是一個 Servlet , 在這個 Servlet 里面 實現了 Java Chassis 的核心 RPC 系統。采用 JSP/Servlet 容器運行 Java Chassis, 業務請求首先經過容器的 HTTP 實現, 然后經過 Filter, 進入 Java Chassis 的 RestServlet , 運行 Java Chassis 的運行時模型 (Handlers) , 進入業務接口處理。

Java Chassis 和 Spring、Spring Boot

Java Chassis 目前依賴于 Spring, 但是從設計上是可以獨立于 Spring 運行的。Spring 是被廣泛使用的技術, 非常輕量級, 在 Java Chassis 中可以直接使用 Spring 相關的技術。Java Chassis 不依賴于 Spring Boot, 但是可以將 Java Chassis 運行于 Spring Boot 基礎之上。

Spring Boot 2 開始也提供了多種運行環境支持, WebApplicationType.NONE, WebApplicationType.SERVLET, WebApplicationType.REACTIVE, Java Chassis 可以集成 NONE, SERVLET 兩種模式。在 NONE 模式下集成 Java Chassis, 和 Spring Boot 自身的 REACTIVE 非常類似, 但是比 Spring Boot 的 REACTIVE 運行更加高效, 并且支持早期的 RestTemplate API 和 RPC API 來訪問服務。

  • Spring MVC

Java Chassis 繼承了 Spring MVC 的接口設計, 提供了 Provider 和 Consumer 層面的 API 接口來定義 REST 接口和訪問 REST 接口。但是需要 注意的是, 兩個是完全不同的實現, 實現機制也不一樣。Spring Boot 主要基于 Servlet, 實現了 MVC 模式, 不僅可以開發 REST 接口, 還可以 開發其他 HTTP 功能, 比如重定向, 返回 HTML 頁面等, 還可以通過 @ExceptionHandler, @ControllerAdvice 等機制攔截 Servlet 請求,進行 異常處理。Java Chassis 只實現了 REST 服務定義和調用, 并且在異常處理機制和請求攔截機制上不一樣。

Java Chassis 與 Spring Cloud

Java Chassis 和 Spring Cloud 都實現了微服務架構模式, 相比而言, Java Chassis 是一個更加緊湊的實現, 開箱即用, 而 Spring Cloud 則是 相對松散的實現, 整合了大量的 Hystrix 組件。

微服務架構模式關注微服務內部和微服務之間的設計, 也關注微服務與微服務基礎設施之間的關系。Java Chassis 微服務基礎設施包括服務注冊和發現, 服務配置管理, 灰度發布和契約管理等功能。Spring Cloud 可以使用 spring-cloud-huawei ( https://github.com/huaweicloud/spring-cloud-huawei ) 來使用 Java Chassis 相關的微服務基礎設施。

 

微服務超全的設計選型參考

 

責任編輯:華軒 來源: 今日頭條
相關推薦

2023-08-27 16:13:50

架構微服務器

2022-09-09 16:27:09

微服務架構數據存儲

2020-06-09 22:05:44

NGINX微服務架構

2020-04-20 15:00:22

DevOps工具代碼

2021-01-04 09:35:55

微服務架構配置中心

2019-10-24 11:17:57

架構運維技術

2019-10-16 08:41:46

微服務架構Nginx

2021-08-30 11:36:23

微服務開發技術

2020-11-25 09:56:48

架構運維技術

2018-07-12 09:59:39

microServicmockautoTest

2020-09-11 09:44:04

微服務分布式鏈路

2022-08-14 07:04:44

微服務架構設計模式

2015-10-22 10:28:45

MySQL高可用方案

2020-09-14 06:47:54

Java中Websocket

2022-08-08 13:55:47

通信設計模式微服務

2019-10-21 16:54:48

數據庫設計SQL

2022-08-07 22:11:25

微服務架構

2021-02-24 14:01:13

微服務開發框架

2022-06-07 09:00:00

微服務數據庫Microstrea

2024-11-07 16:39:42

SpringBoo常用注解Bean
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产乱码久久久久久88av | 免费久久久 | 久久精品国产一区二区三区 | 一区二区三区电影网 | 色888www视频在线观看 | 欧美亚洲国产成人 | 欧美精品一区二区三区四区 | 91人人视频在线观看 | 久久av一区 | 黄色av网站在线观看 | 孰女乱色一区二区三区 | 国产精品久久久久久久久久久久 | 精品久久一区 | av毛片 | 欧美精品网站 | 国产视频二区 | 久久久精 | 成人高清在线 | 久久一二三区 | 欧美日韩免费在线 | 毛片毛片毛片毛片 | 欧美成人激情视频 | 精品视频在线一区 | 艹逼网| 精品久久久久久久 | 91网在线观看 | 国产毛片久久久久久久久春天 | 黄色一级大片在线免费看产 | 99re66在线观看精品热 | 欧美视频第二页 | 免费人成在线观看网站 | 亚洲精品第一页 | 91传媒在线观看 | 天堂一区 | 男女午夜免费视频 | 成人h片在线观看 | 久久精品免费一区二区三 | 国产精品欧美一区二区 | 日韩精品一区二区三区在线观看 | 久久久久精 | 国产精品日日摸夜夜添夜夜av |