首页 > 科技 > 问答 > 科技经验 > 为什么要微服务设计,微服务该如何设计缓存

为什么要微服务设计,微服务该如何设计缓存

来源:整理 时间:2022-06-01 20:19:34 编辑:科技知识 手机版

什么开发后端微服务时要分离API模块?基于组件模型的架构(EJB)层次架构(MVC)面向服务的架构(SOA)3 .微服务特点(1)系统由多个服务组成(2)每个服务都可以独立部署(3)每个服务都是松耦合的。

微服务该如何设计缓存?

笔者做过公司多个项目的微服务架构和改造,就微服务的缓存设计这个问题来发表一下自己的看法。从3个层面来回答这个问题:为什么用缓存?什么场景下使用缓存?基于缓存的架构设计点1.为什么用缓存在高并发场景下,如果直接读DB,很容易出现性能瓶颈,因此需要通过缓存来减少DB的压力,使得大量的访问进来能够命中缓存,只有少量的需要读DB,

缓存基于内存,可支持的并发量远远大于基于硬盘的数据库。所以对于高并发设计,缓存的设计必不可少,2.什么场景下使用缓存我们都知道缓存可以提升系统响应速度,那么一般哪些场景下需要用到缓存呢?我们可以列举3个场景:2.1计数缓存计数对于数据库来讲,是非常繁重的任务,需要查询大量的数据,最后得出计数结果,当数据改变的时候,需要重新刷一遍,非常影响性能。

因此可以设计一个计数服务,后端对接缓存,将计数作为结果放在缓存里面,当数据改变时,调用计数服务增加或者减少计数,计数服务可以使用Redis进行单个计数,也可以用hash表进行批量计数。微服务中的使用场景为网关中的流量控制、配额控制等计数服务,2.2频繁读 低频写比如一个网上商城,商品品类信息的更新品类相对而言是比较低的,但是几乎所有商品相关的查询服务都需要读取商品的品类信息。

像这种低频写、高频读的数据,比较适合放到缓存中,来提升服务性能,2.3较大内容的高频读数据这个和2.2的主要区别是防止在缓存中的量级。比如物联网场景中的白名单信息,接入物联网的设备量级一般比较大,可以到万、千万甚至上亿级别。对于这些设备的白名单控制不可能每次都读取DB来做权限验证,因此需要设计针对大量数据的分布式缓存来提升服务性能。

3.基于缓存的架构设计点基于缓存的架构设计点可以从2个方面来考虑:3.1分场景要区分缓存的实际应用场景,来进行不同的缓存技术选型,对于微服务网关中的流量控制所用到的分布式缓存,可以使用redis 本地缓存技术的方案。对于商品分类信息的存放,使用本地缓存就可以满足需求,对于大型文件的缓存,则推荐本地文件 本地缓存的方式,配合版本管理实现。

3.2缓存架构的高可用引入缓存是为了解决性能瓶颈,但是实质上是引入了更多依赖,比如使用redis,如果没有足够的容错机制,redis一旦挂了,则会导致服务不可用。可以使用分片,这样每一个缓存实例都不大,但是实例数目比较多,一方面可以实现负载均衡,防止单个实例称为瓶颈或者热点,另一方面如果一个实例挂了,影响面相对会小很多,高可用性大大增强,

Java后端微服务开发,为什么要单独把api模块分离出来?

现在的软件开发模式和传统的有很多差别,传统的开发模式耦合度较高,随着技术的发展越来越多的开发模式被应用,比如微服务架构模式。其实很多开发语言都有自己的微服务解决方案,如Java系的SpringBoot、SpringCloud等,但在实际项目开发中,即使是在微服务开发模式下,依旧有很多人喜欢单独抽离出一个api模块,这是为什么呢?什么是微服务?其实“微服务”并不是一种新的技术,而是一种新兴的架构模式。

简单来说,就是把一个服务拆分成多个粒度小、易于复用的子服务。这样做的好处是:应用/服务解耦,避免了单一业务的复杂性;每个微服务都是独立开发部署的,扩展性更强,可以实现服务的高可用性;基于组件且易于复用,开发后端微服务时为什么要分离API模块?既然是微服务模式开发项目,为什么很多开发者会习惯性的搭建一个API模块?其实在开发微服务时,可以采用单模块模式开发,而很多人因为遵循“高内聚、低耦合”的设计模式,所以采用多模块开发。这样做的好处是:1。界限清晰,易于管理。一个中等规模的项目,在开发的时候会有很多业务和模块,分散在各个包里,非常混乱。

文章TAG:为什么要微服务设计要微缓存设计服务

最近更新

  • 有的商家发顺丰为什么可以发带电池的电子产品,商家竟然发的顺丰快递

    当时我们有一个食品分类组,里面很多商家,直接是厂家,占了店铺的一半。因为马云要动快递、三通一达的奶酪,无法独立生存。只是他被马云牵着鼻子走,结局肯定不好,最惨的是换成马云自建物流。 ......

    科技经验 日期:2022-06-08

  • 安卓系统为什么臃肿,安卓系统每年都说更流畅

    说实话,安卓这几年在系统流畅的线条上下了不少功夫。安卓不会自动清理后台。有的安卓手机厂商优化不了,或者用的人不知道怎么用好。久而久之,手机开始卡顿。熟悉Android系统开发的R ......

    科技经验 日期:2022-06-08

  • 苹果为什么嚣张,美国如此嚣张从哪儿来的底气

    卖猪肉的梁屠夫,告诉我为什么宇宙不是上帝主宰的。为什么现在科学在发展?反而有人认为宇宙是上帝主宰的。普朗克常数h定义的量子是宇宙中最小的粒子,是宇宙中最基本的变化载体。对宇宙真理的 ......

    科技经验 日期:2022-06-08

  • rx480 为什么没有了,rx480都8g显存了

    想象一下,一个花粉进华为手机专卖店,预算4000元买一部手机。推荐荣耀30Pro还是华为P40?华为和荣耀是同级还是上下级,华为和荣耀是什么关系,兄弟还是父子。买华为意味着产品力比 ......

    科技经验 日期:2022-06-08

  • 太阳为什么温度最高,为什么不会融化

    这也是不对的。如果时间拖得足够长,随着太阳物质核聚变的继续,物质元素融合成铁元素,基本停止反应。重的铁元素会落到太阳表面,或者形成一个固体的太阳球体。随着越来越多的铁落下,对底层的 ......

    科技经验 日期:2022-06-08

  • 流量卡为什么好卡,为什么移动的无限流量这么卡

    无线流量限速问题运营商提出的无线流量卡并不是真正的无限流量。你以为便宜的是垃圾物联网卡。这是惯例。我觉得12流量卡都是正规卡,去过无数坑,所以知道这个月租49块钱很贵,但是100g ......

    科技经验 日期:2022-06-08

  • 为什么火星叫火星,那么金星为什么不叫火星

    他实际上是苏联的二号人物。斯大林死后,他一度有可能成为苏联的领袖,但在他春风得意之时,却被昔日的战友处决了。苏联只用了20多年就赶上了美国。那么,你认为苏联的科技是先进还是落后?我 ......

    科技经验 日期:2022-06-08

  • 为什么摩拜单车变少了,摩拜单车为什么这么难骑

    没办法,穷成这样。买二手的,打折的就行。喜欢苹果手机的人有以下几种可能:全新的6800元左右,二手的4000元左右,没有五官的才2000多点。价格差别还是很大的,所以有些人喜欢便宜 ......

    科技经验 日期:2022-06-08