以下是在知乎看到的一个评论,讲解的生动有趣,也更容易明白。
爆炒流程的封装
做饭也是要流程的:
- 首先要用我白皙的双手把菜洗好
- 然后用我锋利的瑞士军刀把菜切的整整齐齐。我是练家子,所以切的很6
- 开油,这次咱用花生油
- 加葱花,加调料,哈哈这是鲁菜的做法么
- 将菜爆炒
- 盛在盘中,进行美化
- 开吃
这些步骤中,都有具体的细节。比如调料,可能就有几十种。我家的厨房很大,于是我就将常吃的几种菜,各种配料给搅和在一起,分门别类。
这样,如果我想吃干煸豆角,只需要从麻辣味
标签的小瓶子里倒出一小勺,就OK了。
想想未来,机器人按照配方可以做饭了。我们启动的命令就是…,谁管它背后有什么骚操作。
SpringApplication.run(cooking)
将这些细节进行分类封装,能够快速生产的工具,就是Spring Boot
。
那么,假如川菜是MyBatis
,那么我将川菜配方给封装一下,就是一个模块。这就是Spring Boot Starter
。将需要的功能能够快速集成进来,就是starter干的事情。
一桌菜,一生情
对啦,上面的做菜流程,做出来的,只是一道菜而已。也就是说SpringBoot作出来的也就是单体应用,也就是一道菜而已。
一菜不成席。
你吃了,只会有好吃和不好吃两种评价。但我做一桌菜就不一样了。
我的一桌菜,包括我的桌子,以及这次请客的主题,就是Spring Cloud
,里面的每一个个体,就是一个组件。
- 我的菜单,以及我的配方,就叫做配置中心
- 所有的菜都要摆在桌子上。我的桌子,就是注册中心。
- 有的菜非常好吃,我就多做了一盘,这就是负载均衡
- 吃的菜有的用筷子,有的像印度佬一样直接下手抓,筷子和手,就叫做网关
- 黄瓜要蘸酱才好吃,但它们是两道菜,这就叫分布式事务
每一道菜,都代表不同的意义。比如鲤鱼,寓意鲤鱼跃龙门;鸡翅寓意展翅高飞;春笋意味着节节高升等。这就是应用,也就是SpringBoot写的工程。
综上所述
SpringBoot 是一个抽象的工具集,做出来的东西是一个应用或者组件。
SpringCloud 以一种叫做微服务的方式组织的,应用的集合,是个虚拟概念。
Spring Cloud事实上是一整套基于Spring Boot的微服务解决方案。它为开发者提供了很多工具,用于快速构建分布式系统的一些通用模式,例如:配置管理、注册中心、服务发现、限流、网关、链路追踪等。
所以,学习SpringCloud,不仅仅是写代码的问题,还要处理服务治理和一些周边。
转自:
作者:小姐姐味道
链接:https://www.zhihu.com/question/47304987/answer/668051820