当前位置:首页 > 科技  > 软件

微服务开发,这十个点你要知道

来源: 责编: 时间:2023-12-23 13:47:00 388观看
导读微服务架构是一种软件开发模式,它将一个复杂的应用程序拆分为多个个独立的、小型的、可复用的服务,每个服务负责一个特定的业务功能。微服务架构有许多优点,例如提高系统的可扩展性、可维护性、可测试性和故障容忍性。但

微服务架构是一种软件开发模式,它将一个复杂的应用程序拆分为多个个独立的、小型的、可复用的服务,每个服务负责一个特定的业务功能。TWr28资讯网——每日最新资讯28at.com

微服务架构有许多优点,例如提高系统的可扩展性、可维护性、可测试性和故障容忍性。TWr28资讯网——每日最新资讯28at.com

但是,微服务架构也有很多问题需要注意,例如如何设计合理的划分服务接口、如何在服务间实现高效通信、如何保证数据一致性等。因此要想成功地使用微服务架构,我们需要遵循一些最佳实践。TWr28资讯网——每日最新资讯28at.com

以下是一些微服务架构的最佳实践,我将尽我所了解的知识给大家进行讲解。本文大纲如下,TWr28资讯网——每日最新资讯28at.com

图片图片TWr28资讯网——每日最新资讯28at.com

1. 不使用微服务架构

没错,我们应该尽量避免使用微服务架构。TWr28资讯网——每日最新资讯28at.com

认真地说,使用微服务架构只能被视为最后的选择。从项目实际应用场景开发,少看一些网上关于微服务的吹捧。务实一点,根据项目体量、业务复杂度选择一个适合当前项目的架构。TWr28资讯网——每日最新资讯28at.com

首先尝试构建一个单体的模块化架构,而不是一上来就搞微服务架构。TWr28资讯网——每日最新资讯28at.com

2. 针对失败场景进行处理

在任何使用微服务的分布式系统里面,总是有调用失败的可能,比如网络分区、某个服务宕机不可用等。TWr28资讯网——每日最新资讯28at.com

所以我们在系统调用层面针对失败场景的处理,应该设计得越早越好。TWr28资讯网——每日最新资讯28at.com

故障设计最好三个级别,TWr28资讯网——每日最新资讯28at.com

  • 基础设施级别
  • 数据库级别和
  • 单个微服务级别

实际的针对失败场景处理,可以使用断路器、服务降级和 "隔板模式"。TWr28资讯网——每日最新资讯28at.com

隔板模式在分布式系统中就是指资源隔离,在分布式系统里,资源隔离通常按业务分为进程级别的隔离和线程级别的隔离,某些简单的服务质量要求不高的业务场景下实现进程级别的隔离就够了,但是在某些对服务质量要求较高的分布式场景下需要线程级别的细粒度隔离。TWr28资讯网——每日最新资讯28at.com

3. 构建小型服务

微服务架构中,每个服务应该都按单一职责进行设计。TWr28资讯网——每日最新资讯28at.com

每个微服务应该只负责一个业务领域,并且尽量避免涉及其他领域。TWr28资讯网——每日最新资讯28at.com

这样可以提高代码的可读性、可测试性和可维护性,也可以降低系统的复杂度和耦合度。TWr28资讯网——每日最新资讯28at.com

4. 使用轻量级通信协议

微服务架构中,服务之间的通信协议时非常重要的。因为在一些对性能要求较高的场景里,选择一个轻量级协议所能带来的 QPS 提升,也是非常客观的。TWr28资讯网——每日最新资讯28at.com

比如服务间可以使用 REST、GRPC 或消息队列等通信协议,这样可以尽可能减少服务通信带来的开销并提升性能。TWr28资讯网——每日最新资讯28at.com

5. 服务发现

微服务架构下,服务实例的网络地址是动态分配和变化的,因此需要一种机制,能够及时获取服务实例的最新的网络地址,以便进行服务间通信。TWr28资讯网——每日最新资讯28at.com

并且服务实例的数量和状态都是随着业务需求和故障情况而变化的,还需要有能够及时感知服务实例的上线、下线、故障等情况的能力。TWr28资讯网——每日最新资讯28at.com

因此我们需要使用服务发现组件,它负责自动发现服务实例,负载均衡和故障转移。TWr28资讯网——每日最新资讯28at.com

服务发现组件有 Eureka 、Consul、Nacos 等,国内的话,推荐大家使用 Nacos。TWr28资讯网——每日最新资讯28at.com

6. 数据库隔离

微服务架构下,每个服务的数据库应该都是单独部署的,它们之间相互隔离。TWr28资讯网——每日最新资讯28at.com

一个服务要操作另一个服务数据库中的数据时,都应该只能通过调用另一个服务的接口来实现,而不是粗暴的直接访问其他服务的数据库进行读写。TWr28资讯网——每日最新资讯28at.com

数据库隔离的最终目标就是为了减少服务之间的耦合,使它们能够独立发展。TWr28资讯网——每日最新资讯28at.com

7. 实施弹性模式

为了提高微服务架构中各个服务的弹性,我们应该尽量使用弹性模式。TWr28资讯网——每日最新资讯28at.com

所谓弹性,其实就是服务的可用性,专业一点的话说就是从某些类型的故障中恢复并保持自身服务的能力。TWr28资讯网——每日最新资讯28at.com

那么,我们应该如何实施实施弹性模式嘞?TWr28资讯网——每日最新资讯28at.com

其实很简单,我给大家分成两个部分进行讲解,一个是服务内,另一个是服务外。TWr28资讯网——每日最新资讯28at.com

服务内指的是别人调用我们的服务时,需要注意的点有,TWr28资讯网——每日最新资讯28at.com

  • 添加缓存
  • 资源隔离
  • 接口限速

服务外指的是我们调用别人的服务时,需要注意的点有,TWr28资讯网——每日最新资讯28at.com

  • 调用超时
  • 请求重试
  • 断路器应用

8. 服务监控于链路追踪

有句话说得好,"在任何分布式系统中,会宕机的服务最终都会宕机"。

本文链接:http://www.28at.com/showinfo-26-52589-0.html微服务开发,这十个点你要知道

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 快手上线新农人扶持专区 三农红人计划升级

下一篇: 一文读懂JWT

标签:
  • 热门焦点
  • Redmi Pad评测:红米充满野心的一次尝试

    从Note系列到K系列,从蓝牙耳机到笔记本电脑,红米不知不觉之间也已经形成了自己颇有竞争力的产品体系,在中端和次旗舰市场上甚至要比小米新机的表现来得更好,正所谓“大丈夫生居
  • 7月安卓手机性能榜:红魔8S Pro再夺榜首

    7月份的手机市场风平浪静,除了红魔和努比亚带来了两款搭载骁龙8Gen2领先版处理器的新机之外,别的也想不到有什么新品了,这也正常,通常6月7月都是手机厂商修整的时间,进入8月份之
  • 2023年,我眼中的字节跳动

    此时此刻(2023年7月),字节跳动从未上市,也从未公布过任何官方的上市计划;但是这并不妨碍它成为中国最受关注的互联网公司之一。从2016-17年的抖音强势崛起,到2018年的“头腾
  • 花7万退货退款无门:谁在纵容淘宝珠宝商家造假?

    来源:极点商业作者:杨铭在淘宝购买珠宝玉石后,因为保证金不够赔付,店铺关闭,退货退款难、维权无门的比比皆是。“提供相关产品鉴定证书,支持全国复检,可以30天无理由退换货。&
  • ESG的面子与里子

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之三伏大幕拉起,各地高温预警不绝,但处于厄尔尼诺大“烤”之下的除了众生,还有各大企业发布的ESG报告。ESG是“环境保
  • 三星折叠屏手机去年销售近1000万台 今年目标定为1500万

    7月29日消息,三星率先发力可折叠手机市场,在全球市场已经取得了非常亮眼的成绩,接下来会进一步巩固和扩大这一优势。三星在推出Galaxy Z Flip5和Galax
  • 超闭合精工铰链 彻底消灭缝隙 三星Galaxy Z Flip5与Galaxy Z Fold5发布

    2023年7月26日,三星电子正式发布了Galaxy Z Flip5与Galaxy Z Fold5。三星新一代折叠屏手机采用超闭合精工铰链,让折叠后的缝隙不再可见。同时,配合处
  • iQOO Neo8系列今日官宣:首发天玑9200+ 全球安卓最强芯!

    在昨日举行的的联发科新一代旗舰芯片天玑9200+的发布会上,iQOO官方也正式宣布,全新的iQOO Neo8系列新品将全球首发搭载这款当前性能最强大的移动平台
  • OPPO K11搭载长寿版100W超级闪充:26分钟充满100%

    据此前官方宣布,OPPO将于7月25日也就是今天下午14:30举办新品发布会,届时全新的OPPO K11将正式与大家见面,将主打旗舰影像,和同档位竞品相比,其最大的卖
Top