薇服务中配置哪些东西
㈠ 【微服务】微服务架构包含哪些组件、各个组件又承担什么职责呢
微服务架构主要包含以下组件,以及各个组件承担的职责:
注册中心
- 职责:负责新节点的注册与状态管理,确保服务实例能够被其他服务发现并访问。这是解决服务发现问题的核心组件。
负载均衡
- 职责:在服务发现后,负载均衡器负责选择合适的节点进行通信,以实现服务间的负载均衡,提高系统的可用性和响应速度。
服务通信
- 职责:通常使用RESTful风格进行服务间通信,并通过封装技术来简化通信过程,提高开发效率。
API服务网关
- 职责:作为外部访问的统一入口,API服务网关提供权限控制、路由转发、协议转换等扩展功能,保护内部服务免受非法访问。
配置中心
- 职责:集中管理各节点的配置信息,简化配置调整过程,确保服务在不同环境下的配置一致性。
集中式日志管理
- 职责:收集和统一管理所有节点的日志信息,支持日志查询、分析和告警等功能,有助于快速定位和解决问题。
分布式链路追踪
- 职责:可视化调用链路,帮助开发人员分析性能瓶颈和错误原因,提高系统的可观测性和可维护性。
服务保护
- 职责:通过熔断器、限流等保护机制,防止服务雪崩效应,确保系统在面对服务延迟或失败时能够保持稳定运行。
㈡ 微服务架构包含哪些组件、各个组件又承担什么职责呢
微服务架构是构建现代分布式系统的强大工具,它将应用拆分为一系列独立的、可独立部署的微服务。这种架构设计背后的关键组件及其职责如下:
1、注册中心(Service Registry)
注册中心是微服务架构的核心组件,负责服务的注册与发现。它允许微服务在启动时将自己的服务信息(如服务名、IP地址和端口)注册到注册中心,同时定期检查服务状态,确保可用性。
2、负载均衡(Load Balance)
负载均衡组件解决了服务发现与负载均衡问题。在服务间通信时,通过注册中心获取服务的可用节点列表,负载均衡器依据策略选择合适的节点进行调用,实现服务间的高效负载均衡。
3、服务通信(Communication)
服务通信采用轻量级协议,如HTTP RESTful风格,但通过封装实现统一SDK,简化开发者接口调用,屏蔽底层细节,提升团队协作效率。
4、API服务网关(API Gateway)
服务网关作为微服务与外部交互的唯一入口,负责认证、授权、路由、容错等,提供统一的API服务接口,隐藏底层细节,增强系统安全性。
5、配置中心(Config Management)
配置中心集中管理微服务的配置文件,避免重复配置,简化运维,提高配置调整效率。它提供UI界面,方便大规模集群配置调整。
6、集中式日志管理(Centralized Logging)
集中式日志系统收集所有节点的日志,形成统计报表,便于数据分析与监控,提升故障排查效率。
7、分布式链路追踪(Distributed Tracing)
链路追踪组件提供可视化链路图,帮助开发者追踪业务流程中的每个微服务运行状态,定位系统瓶颈与问题。
8、服务保护(Service Protection)
服务保护组件实现高延迟服务的快速降级,防止服务雪崩,确保系统稳定性。
这些组件共同构成了微服务架构,实现高效、灵活、可扩展的应用部署与管理。了解并使用这些组件,有助于构建稳定、可维护的分布式系统。
㈢ SpringCloud寰链嶅姟缁勪欢浠嬬粛
Spring Cloud鏄涓绯诲垪妗嗘灦镄勬湁搴忛泦钖堬纸妗嗘灦闆嗭级锛屼粬鍒╃敤Spring Boot镄勫紑鍙戜究鍒╂у阀濡欑殑绠鍖栦简鍒嗗竷寮忕郴缁熷熀纭璁炬柦镄勫紑鍙戯纴濡傛湇锷″彂鐜版敞鍐屻侀厤缃涓蹇冦佹秷鎭镐荤嚎銆佽礋杞藉潎琛°佹柇璺鍣ㄣ佹暟鎹鐩戞带绛夈
SpringCloud鍒╃敤SpringBoot镄勫紑鍙戜究鍒╂у阀濡椤湴绠鍖栦简鍒嗗竷寮忕郴缁熷熀纭璁炬柦镄勫紑鍙戯纴SpringCloud涓哄紑鍙戜汉锻樻彁渚涗简蹇阃熸瀯寤哄垎甯冨纺绯荤粺镄勪竴浜涘伐鍏凤纴鍖呮嫭閰岖疆绠$悊銆佹湇锷″彂鐜般佹柇璺鍣ㄣ佽矾鐢便佸井浠g悊銆佷簨浠舵荤嚎銆佸叏灞阌併佸喅绛栫珵阃夈佸垎甯冨纺浼氲瘽绛夌瓑锛屽畠浠閮藉彲浠ョ敤SpringBoot镄勫紑鍙戦庢牸锅氩埌涓阌钖锷ㄥ拰閮ㄧ讲銆
SpringCloud骞舵病链夐吨澶嶅埗阃犺疆瀛愶纴瀹冨彧鏄灏嗙洰鍓嶅悇瀹跺叕鍙稿紑鍙戠殑姣旇缉鎴愮啛銆佺粡寰楄捣瀹为檯钥冮獙镄勬湇锷℃嗘灦缁勫悎璧锋潵锛岄氲繃SpringBoot椋庢牸杩涜屽啀灏佽呭睆钄芥帀浜嗗嶆潅镄勯厤缃鍜屽疄鐜板师鐞嗭纴链缁堢粰寮鍙戣呯暀鍑轰简涓濂楃亩鍗曟槗镍伞佹槗閮ㄧ讲鍜屾槗缁存姢镄勫垎甯冨纺绯荤粺寮鍙戝伐鍏峰寘
涓嬮溃鏄疭pring Cloud镄勬暣浣撴灦鏋勫浘锛
娉ㄥ唽涓蹇冨彲浠ヨ存槸寰链嶅姟鏋舵瀯涓镄勨滈氲褰曗濓纴浠栬板綍浜嗘湇锷″拰链嶅姟鍦板潃镄勬椠灏勫叧绯汇傚湪鍒嗗竷寮忔灦鏋勪腑锛屾湇锷′细娉ㄥ唽鍒拌繖閲岋纴褰撴湇锷¢渶瑕佽皟鐢ㄥ叾浠栨湇锷℃椂锛屽氨鍦ㄨ繖閲屾垒鍒板瑰簲链嶅姟镄勫湴鍧锛岃繘琛岃皟鐢ㄣ
娉ㄥ唽涓蹇幂殑涓昏佷綔鐢
Ribbon鏄疦etflix鍙戝竷镄勪竴涓璐熻浇鍧囱锛屾湁锷╀簬鎺у埗HTTP鍜孴CP瀹㈡埛绔琛屼负銆傚湪Spring Cloud涓锛孍ureka涓鑸閰嶅悎Ribbon杩涜屼娇鐢锛孯ibbon鎻愪緵浜嗗㈡埛绔璐熻浇鍧囱镄勫姛鑳斤纴Ribbon鍒╃敤浠嶦ureka涓璇诲彇鍒扮殑链嶅姟淇℃伅锛屽湪璋幂敤链嶅姟鑺傜偣鎻愪緵镄勬湇锷℃椂锛屼细钖堢悊镄勮繘琛岃礋杞姐
鍦⊿pring Cloud涓鍙浠ュ皢娉ㄥ唽涓蹇冨拰Ribbon閰嶅悎浣跨敤锛孯ibbon镊锷ㄧ殑浠庢敞鍐屼腑蹇冧腑銮峰彇链嶅姟鎻愪緵钥呯殑鍒楄〃淇℃伅锛屽苟锘轰簬鍐呯疆镄勮礋杞藉潎琛$畻娉曪纴璇锋眰链嶅姟銆
Ribbon铡熺悊
鍑犵嶈礋杞藉潎琛$瓥鐣ワ细
Hystrix鏄疦etflix寮婧愮殑涓娆惧归敊妗嗘灦锛屽寘钖甯哥敤镄勫归敊鏂规硶銆傚湪楂桦苟鍙戣块梾涓嬶纴绯荤粺镓渚濊禆镄勬湇锷$殑绋冲畾镐у圭郴缁熺殑褰卞搷闱炲父澶э纴渚濊禆链夊緢澶氢笉鍙鎺х殑锲犵礌锛屾瘆濡傜绣缁滆繛鎺ュ彉鎱锛岃祫婧愮獊铹剁箒蹇欙纴𨱌傛椂涓嶅彲鐢锛屾湇锷¤㔉链虹瓑銆侣ystrix鍒╃敤镡旀柇銆佺嚎绋嬫睁闅旂汇佷俊鍙烽噺闅旂汇侀檷绾у洖阃绛夋柟娉曟潵澶勭悊渚濊禆闅旂伙纴浣跨郴缁熷彉寰楅珮鍙鐢ㄣ
Hystrix涓昏佹彁渚涗简浠ヤ笅鍑犵嶅归敊鏂规硶锛
Spring Cloud Gateway鏄疭pring瀹樻柟鎺ㄥ嚭镄勬湇锷$绣鍏崇殑瀹炵幇妗嗘灦锛岀浉瀵逛簬链嶅姟缃戝叧镄勬傚康链夌偣绫讳技浜庝紶缁熺殑鍙嶅悜浠g悊链嶅姟鍣锛埚俷ginx锛夛纴浣嗗弽钖戜唬鐞嗕竴鑸閮藉彧鏄锅氢笟锷℃棤鍏崇殑杞鍙戣锋眰锛岃屾湇锷$绣鍏充笌链嶅姟镄勬暣钖堢▼搴︽洿楂桡纴鍙浠ョ湅浣滀篃鏄鏁翠釜链嶅姟浣撶郴镄勭粍鎴愰儴鍒嗭纴阃氲繃杩囨护鍣ㄧ瓑缁勪欢鍙浠ュ湪缃戝叧涓闆嗘垚涓浜涗笟锷″勭悊镄勬搷浣滐纸姣斿傛潈闄愯よ瘉绛夛级銆
镙稿绩锷熻兘锛
Spring Cloud Stream鏄涓涓鐢ㄦ潵涓哄井链嶅姟搴旂敤鏋勫缓娑堟伅椹卞姩鑳藉姏镄勬嗘灦銆
鐗圭偣锛
灞忚斀搴曞眰 MQ 瀹炵幇缁呜妭锛孲pring Cloud Stream 镄 API 鏄缁熶竴镄勚傚傛灉浠 Kafka 鍒囧埌 RocketMQ锛屽彲浠ョ洿鎺ヤ慨鏀归厤缃銆
涓 Spring 鐢熸佹暣钖堟洿锷犳柟渚裤係pring Cloud Data Flow镄勬祦璁$畻閮芥槸锘轰簬 Spring Cloud Stream锛汼pring Cloud Bus 娑堟伅镐荤嚎鍐呴儴涔熸槸鐢ㄧ殑 Spring Cloud Stream銆
閰岖疆涓蹇冨姛鑳斤细
鍒嗗竷寮忛摼璺杩借釜锛屽氨鏄灏嗕竴娆″垎甯冨纺璇锋眰杩桦师鎴愯皟鐢ㄩ摼璺锛岃繘琛屾棩蹇楄板綍锛屾ц兘鐩戞带骞跺皢涓娆″垎甯冨纺璇锋眰镄勮皟鐢ㄦ儏鍐甸泦涓灞旷ず銆傛瘆濡傚悇涓链嶅姟鑺傜偣涓婄殑钥楁椂锛岃锋眰鍏蜂綋鍒拌揪鍝鍙版満鍣ㄤ笂銆佹疮涓链嶅姟鑺傜偣镄勮锋眰鐘舵佺瓑绛夈
鍒嗗竷寮忛摼璺杩借釜鏂规堬细