什么是微服務?

?

?

?

?2.微服務的優缺點

優點

  • 單一職責原則
  • 每個服務足夠內聚,足夠小,代碼容易理解,這樣能聚焦一個指定的業務功能或業務需求;
  • 開發簡單,開發效率提高,一個服務可能就是專一的只干一件事;
  • 微服務能夠被小團隊單獨開發,這個小團隊是2-5人的開發人員組成;
  • 微服務是松耦合的,是有功能意義的服務,無論是在開發階段或部署階段都是獨立的。
  • 微服務能使用不同的語言開發。
  • 易于和第三方集成,微服務允許容易且靈活的方式集成自動部署,通過持續集成工具,如:jenkinns,Hudson,bamboo
  • 微服務易于被一個開發人員理解,修改和維護,這樣小團隊能夠更關注自己的工作成果,無需通過合作才能體現價值。
  • 微服務允許你利用融合最新技術。
  • 微服務只是業務邏輯的代碼,不會和HTML,CSS或其他界面混合。

  • 每個微服務都有自己的存儲能力,可以有自己的數據庫,也可也有統一數據庫

缺點

  • 開發人員要處理分布式系統的復雜性
  • 多服務運維難度,隨著服務的增加,運維的壓力也在增大
  • 系統部署依賴
  • 服務間通信成本
  • 數據一致性
  • 系統集成測試
  • 性能監控。。。

3.微服務有哪些技術棧

微服務相關技術棧

微服務條目

落地技術

服務開發 SpringBoot.Spring,SpringMvc 服務配置與管理 Netflix公司的Archaius、案例的Diamond等 服務注冊與發現 Eurerka,Consul,zookeeper等 服務調用 Rest、RPC、gPRC 服務熔斷器 Hystrix、Envoy等 負載均衡 Ribbon、Nginx等 服務接口調用(客戶端調用服務的簡化工具) Feign等 消息列隊 Kafka、RaabbitMQ、ActiveMQ等 服務配置中心管理 SpringCloudConfig、Chef等 服務路由(API網關) Zuul等 服務監控 Zabbix、Nagios、Metrics、Specatator等

全鏈路追蹤

Zipkin、Brave、Dapper等 服務部署

Docker、OpenStack、Kubernetes等

數據流操作開發包 SpringCloud Stream(封裝與Redis、Rabbit。Kafka等發送接收消息)
事件消息總線SpringCloud Bus

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/36621.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/36621.shtml
英文地址,請注明出處:http://en.pswp.cn/news/36621.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

命令提示符之操作基礎(Windows)

打開命令提示符 方法一 打開指定文件的文件夾,在路徑欄里輸入“cmd”,回車,就進入控制臺了。默認路徑就是指定文件夾的路徑。 方法二 打開指定的文件夾,按住shift鍵,在空白處右擊,在菜單欄中選擇“在此處打…

社區團購商城拼團秒殺接龍分銷團長小程序開源版開發

社區團購商城拼團秒殺接龍分銷團長小程序開源版開發 功能介紹: 商品管理:增加商品-商品列表-商品分類-商品單/多規格-商品標簽 訂單管理:訂單列表-訂單挑選-訂單導出-訂單打印-批量發貨-商品評價 會員管理:會員列表-會員挑選-會員…

【Git】—— 標簽管理

目錄 (一)理解標簽 1、作用 (二)創建標簽 (三)操作標簽 1、刪除標簽 2、推送標簽 3、刪除遠程標簽 (一)理解標簽 標簽 tag ,可以簡單的理解為是對某次 commit 的…

python中的迭代器和生成器

一、迭代器 支持迭代的容器,如列表(list)、元組(tuple)、字典(dict)、集合(set)這些序列式容器。 自定義迭代器的類中必須實現以下2個方法: __next__(self)…

監控Kubernetes 控制面組件的關鍵指標

控制面組件的監控,包括 APIServer、Controller-manager(簡稱 CM)、Scheduler、etcd 四個組件。 1、APIServer APIServer 的核心職能是 Kubernetes 集群的 API 總入口,Kube-Proxy、Kubelet、Controller-Manager、Scheduler 等都需…

【字符串】649. Dota2 參議院

649. Dota2 參議院 解題思路 R true 表示循環結束之后 字符串仍然存在 Rflag > 0 說明R在D之前出現 R可以消滅Dflag < 0 說明D在R之前出現 D 可以消滅R一旦其中有一個為false 說明只剩下R 或者D 那么就可以決定誰獲勝遍歷字符串 如果當前字符是R 判斷flag 如果flag &l…

‘open3d.open3d.geometry.PointCloud‘ object has no attribute ‘voxel_down_sample‘

scene_cloud open3d.geometry.PointCloud() scene_cloud.points open3d.utility.Vector3dVector(scene_points) scene_cloud scene_cloud.voxel_down_sample(voxel_size) 執行上面代碼第三句報錯&#xff0c;出現了下面這個錯誤&#xff1a; AttributeError: open3d.open…

TCP 協議十大相關特性總結

目錄 一、TCP特性 二、報文格式 TCP十大核心特性 1. 確認應答 2. 超時重傳 3. 連接管理(三次握手,四次揮手) 三次握手 四次揮手 4. 滑動窗口 情況一:接收方的ACK丟失 情況二:發送方的數據包丟失 5. 流量控制 6. 擁塞控制 7. 延遲應答 8. 捎帶應答 9. 字節流粘包問題 10. TCP的…

k8s--使用cornJob定時執行sql文件

CronJob apiVersion: batch/v1beta1 kind: CronJob metadata:name: hello spec:schedule: "0 * * * *"jobTemplate:spec:template:spec:containers:- name: postgres-alpineimage: xxxximagePullPolicy: IfNotPresentcommand:- psql- -h- 數據庫服務地址- -d- 數據庫…

大語言模型:LLM的概念是個啥?

一、說明 大語言模型&#xff08;維基&#xff1a;LLM- large language model&#xff09;是以大尺寸為特征的語言模型。它們的規模是由人工智能加速器實現的&#xff0c;人工智能加速器能夠處理大量文本數據&#xff0c;這些數據大部分是從互聯網上抓取的。 [1]所構建的人工神…

02 - git 文件重命名

查看所有文章鏈接&#xff1a;&#xff08;更新中&#xff09;GIT常用場景- 目錄 文章目錄 1. 第一種方式2. 第二種方式 1. 第一種方式 mv kongfu_person.txt kongfu.txt git add .2. 第二種方式 git mv kongfu_person.txt kongfu.txt

微服務實戰項目-學成在線-項目優化(redis緩存優化)

微服務實戰項目-學成在線-項目優化(redis緩存優化) 1 優化需求 視頻播放頁面用戶未登錄也可以訪問&#xff0c;當用戶觀看試學課程時需要請求服務端查詢數據&#xff0c;接口如下&#xff1a; 1、根據課程id查詢課程信息。 2、根據文件id查詢視頻信息。 這些接口在用戶未認…

Unity 人物連招(三段連擊)

一&#xff1a; 連招思路 首先人物角色上有三個攻擊實例對象 Damage,每一個damage定義了攻擊的傷害值&#xff0c;攻擊距離&#xff0c;觸發器名稱&#xff0c;傷害的發起者&#xff0c;攻擊持續時間&#xff0c;攻擊重置時間&#xff0c;傷害的碰撞框大小等字段&#xff1a; …

【WordPress】給你一萬個不使用WP-Cron定時機制的理由

這篇文章也可以在我的博客中查看 定時任務 cron Cron是Unix/Linux系統中的任務調度工具&#xff0c;允許用戶在預定的時間和日期間隔自動運行命令或腳本 它通過Cron表達式定義任務執行的頻率&#xff0c;該表達式包含分鐘、小時、日期等信息 我們可以利用Cron來定期執行維護…

MySQL表的增刪查改

目錄 一&#xff0c;新增 二&#xff0c;查詢 2.1 全列查詢 2.2 指定列查詢 2.3 查詢字段為表達式 2.4 別名 - as 2.5 去重 - distinct 2.6 排序 - order by 2.7 條件查詢 - where 2.8 分頁查詢 - limit 三&#xff0c;修改 - update 四&#xff0c;刪除 - delete 一…

@Mapper POJO 與DTO之間的class屬性轉換映射

Mapper注解基于mapStract 框架實現對象轉換&#xff1a;MapStract java bean 屬性轉換映射 引用轉自&#xff1a;org.mapstruct:mapstruct 包&#xff08;Mapper、Mapping&#xff09;的使用 依賴包&#xff1a; <!--mapStruct依賴--> <dependency><groupId&g…

Spring-2-透徹理解Spring 注解方式創建Bean--IOC

今日目標 學習使用XML配置第三方Bean 掌握純注解開發定義Bean對象 掌握純注解開發IOC模式 1. 第三方資源配置管理 說明&#xff1a;以管理DataSource連接池對象為例講解第三方資源配置管理 1.1 XML管理Druid連接池(第三方Bean)對象【重點】 數據庫準備 -- 創建數據庫 create …

純前端 -- html轉pdf插件總結

一、html2canvasjsPDF&#xff08;文字會被截斷&#xff09;&#xff1a; 將HTML元素呈現給添加到PDF中的畫布對象&#xff0c;不能僅使用jsPDF&#xff0c;需要html2canvas或rasterizeHTML html2canvasjsPDF的具體使用鏈接 二、html2pdf&#xff08;內容顯示不全文字會被截斷…

[RoarCTF 2019Online Proxy]sql巧妙盲注

文章目錄 [RoarCTF 2019Online Proxy]sql巧妙盲注解題腳本腳本解析 [RoarCTF 2019Online Proxy]sql巧妙盲注 解題 在源代碼界面發現&#xff1a;Current Ip 我們會聯想到&#xff1a;X-Forwarded-For來修改ip&#xff1a; 結果我們發現&#xff0c;response會講Last Ip回顯出…

Semaphore 原理分析

分析下SemaPhore吧&#xff0c;也是基于AQS實現的&#xff0c;對并發進行控制的工具類&#xff0c;看下其怎么實現的&#xff0c; Semaphore semaphore new Semaphore(3);semaphore.acquire();semaphore.release();Semaphore 常用于控制并發量&#xff0c;比如這里設置為3&…