Java|想学好Java,怎么可能会不知道,什么是微服务?( 二 )
不要看好像挺复杂的 , 本质上都是为了管理服务 , 我以打车的例子大致说明下:
- 在以前 , 我们若是要乘车 , 需要去找车 , 而对于车主来说也需要找乘客 。
- 而现在 , 有打车服务了 , 我们若是要乘车直接叫滴滴就好了 , 而司机也方便找乘客 。
- 服务越来越多 , 要管理每个服务的地址 。
- 服务之间调用关系错综复杂 , 难以理清 。
- 服务过多 , 服务状态难以管理 。
- 服务注册中心 , 实现服务自动注册 , 无需人为记录服务地址 。
- 服务自动订阅 , 服务列表自动推送 , 服务调用透明化 , 无需关心依赖关系 。
- 动态监控服务状态 , 人为控制服务状态即可 。
4微服务
微服务和SOA比较像 , 但也有一些差别 。
①微:微服务的核心
也就是小的意思 , 服务拆分粒度很小 。 例如一个用户管理就可以作为一个服务 。
②面向服务
每个服务都要对外暴露Rest风格服务接口API , 并不关心服务的技术实现 。
你是用Java实现的也好 , 还是用Python实现的也罢 , 都可以 , 只要提供Rest的接口即可 。
③单一职责
微服务中每一个服务都对应唯一的业务能力 , 做到单一职责 。
④独立
- 团队独立:每个服务对应独立的开发团队 。
- 技术独立:因为是面向服务 , 提供Rest接口 , 使用什么技术没有别人干涉 。
- 自治:自治是说服务间互相独立 , 互不干扰 。
- 前后端独立:以前后端要为电脑端、手机端提供不同接口 , 现在只需要提供Rest接口 。
- 数据库分离:每个服务都使用自己的数据源 。
- 服务独立:服务间虽然有调用 , 但要做到服务重启不影响其它服务 。
那如何实现服务之间的调用呢?有两种方式:RPC调用和Http调用 。
1RPC调用
基于原生TCP通信 , 速度快 , 效率高 , 现在热门的dubbo , 都是RPC的典型代表 。
推荐阅读
- Java|计算机专业的本科生,该选择学习Java技术体系还是.NET技术体系
- 美团|大量外卖小哥退出美团,商家也接连退出,今年到底怎么了?
- 长城宽带|100万就把1450万用户卖了,长城宽带这是怎么了?
- 歌友约|短视频制作难度大吗?怎么剪辑短视频?
- defi|告别滴滴,入手美团打车,大家怎么看?
- 趣味社会学|Netflix的交易怎么办,梅根和哈里签署协议需要女王批准
- 小熊回收站|-链表阻塞队列和数组阻塞队列的异同,Java并发编程
- 精兵堂1|美媒:怎么又是中国,真的发了!广东发现17万吨“超稀有金属”
- 苹果|你当时脑袋一热买的东西现在怎么样了?玩了6次,就亏本卖了
- 品玩|手机云台还能怎么进步?大疆:咔嗒一吸
