分布式和微服务的区别-世界观速讯

1.分布式和微服务有什么区别呢?

答:分布式的核心就一个字:拆。只要是将一个项目拆分成了多个模块,并将这些模块分开部署,那就算是分布式。


(资料图)

如何拆呢?有两种方式:水平拆分,或垂直拆分(也称为“横向拆分”和“垂直拆分”),具体如下:

水平拆分:根据“分层”的思想进行拆分。例如,可以将一个项目根据“三层架构”拆分成 表示层(jsp+servlet)、业务逻辑层(service)和数据访问层(dao),然后再分开部署:把表示层部署在服务器A上,把service和dao层部署在服务器B上,然后服务器A和服务器B之间通过dubbo等RPC进行进行整合(在左下角的“阅读原文”里有dubbo的视频课程,可以点击学习),如图所示。

垂直拆分:根据业务进行拆分。例如,可以根据业务逻辑,将“电商项目”拆分成“订单项目”、“用户项目”和“秒杀项目”。显然这三个拆分后的项目,仍然可以作为独立的项目使用。像这种拆分的方法,就成为垂直拆分。

什么是微服务呢?

从名字就能知道,“微服务”就是非常微小服务

微服务可以理解为一种非常细粒度的垂直拆分。例如,以上“订单项目”本来就是垂直拆分后的子项目,但实际上“订单项目”还能进一步拆分为“购物项目”、“结算项目”和“售后项目”,如图。

现在看图中的“订单项目”,它完全可以作为一个分布式项目的组成元素,但就不适合作为微服务的组成元素了(因为它还能再拆,而微服务应该是不能再拆的“微小”服务,类似于“原子性”)。

总结:

分布式:拆了就行。

微服务:细粒度的垂直拆分。

2.Java中不是有GC吗,怎么还有内存泄漏一说?

答:Java内存有两种常见问题:内存溢出和内存泄漏。

内存溢出好理解,就是JVM内存有限。如果对象太多,JVM内存放不下了,就会内存溢出。

那什么是内存泄漏?首先得明确,GC只会回收那些“不可达”的对象(可以简单理解为,如果一个对象存在着指向它的引用,这个对象就“可达”;如果没有引用指向它,则“不可达”)。

若一个对象是“无用但可达的”,就会造成内存泄漏。

如下代码中,obj的值是null,因此是“无用的”;但同时obj又同时被被list引用,因此是“可达”的,所以此时的obj就会造成内存泄漏。

Object obj = new Object();list.add( obj );obj = null ;

除了上面obj这种内存泄漏的情况以外,在实际开发中最常见的内存泄漏就是打开资源后没有调用close()方法。例如socket、io流等,都需要再最后close()一下防止内存泄漏。

关键词:

为您推荐

分布式和微服务的区别-世界观速讯

答:分布式的核心就一个字:拆。只要是将一个项目拆分成了多个模块,并将这些模块分开部署,那就算是分布式。

来源:腾讯云2023-03-16

环球关注:1069 0700 511除运营商收_1069 0700 511

1、年纪大了多次恢复不见效。本文就为大家分享到这里,希望小伙伴们会喜欢。

来源:互联网2023-03-16

杭州银行:杭州城投集团拟增持约1.19亿股,中国人寿拟减持不超1.19亿股 天天看热讯

杭州银行:杭州城投集团拟增持约1 19亿股,中国人寿拟减持不超1 19亿股

来源:北京商报官方账号2023-03-15

世界热点评!注意!东山精密将于3月31日召开股东大会

东山精密(SZ002384,收盘价:27 56元)3月15日发布公告称,2023年3月31日(星期五)下午14:00,公司将在江苏省苏州市吴中区太湖东路99号运河小镇

来源:每日经济新闻2023-03-15

天天播报:重庆体育文物动起来|郭立亚:曾在国际赛场发现美国队违规

重庆体育文物动起来|郭立亚:曾在国际赛场发现美国队违规

来源:上游新闻2023-03-15

新能源汽车龙头股 新能源汽车有哪些龙头股|要闻

虽然新能源起步较晚,但它迎合了大数据时代的浪潮。它具有智能化、信息化和自动化的特点。一些企业的新能源汽车还配备了自动驾驶技术,使人们

来源:财经窝2023-03-15

谷氨酰转肽酶高是怎么回事传染吗_谷氨酰转肽酶高是怎么回事|每日快讯

1、病情分析:谷氨酰转肽酶偏高的原因有:1。2、肾病。3、肾积水、肾炎、肾结核均可导致谷氨酰转肽酶升高。4、2 肝病。5

来源:互联网2023-03-15

WTT新加坡大满贯赛:孙颖莎、王曼昱晋级 马龙赢下“国乒内战”

WTT新加坡大满贯赛:孙颖莎、王曼昱晋级马龙赢下“国乒内战”---中国队选手孙颖莎和王曼昱均直落三局取胜,挺进女单16强。奥运冠军马龙在一场

来源:新华网2023-03-15