一、微服务基础1.什么是SpringCloud?SpringCloud官网:
https://spring.io/projects/spring-cloud(个人建议是用谷歌浏览器访问官网打开中文翻译粗略把官网读一遍)
个人理解:
以前的服务器就好像,一个会语数外全能的老师,为学生提供服务,这个老师生病了,那全校停课 。现在微服务流行后,学校有了数学教研组,语文教研组,外语教研组,每个教研组有一群老师具体负责某科的教学,缺了谁,学校都照样运转 。
而这个变化中,那些改变历史的程序员就是把一个服务器中的众多服务,或好几台服务器中的众多服务,分类出来,结合出来,把他们类似的功能交给同一个集群来做,把互相耦合在一起的功能剥离出来,按业务,按功能来把他们作为一个个微服务放在服务器上,而这个服务器就只提供一个服务,或较少的服务 。让一个超大的服务逻辑,解耦合为一个个小服务,均匀地分布在各自的服务器中 。微服务就微在这 。
每个教研组就是一个微服务集群 。他们提供同样的服务,而注册中心Eureka就是这个存放这个教研组老师名单的地方,学生们想先访问这个注册中心获取教师名单,然后根据相应的负载方法去访问各自老师 。不至于让集群中某一老师累死也不至于让某一老师闲死 。
而Zuul网关呢,就是学校的门卫,某些学生来学校找谁,它负责指引(路由),并且通过一些非常简单的配置,达到阻拦一些人进入(身份验证),或者控制想学数学的人只能去数学教研组,不能去核能教研组学怎么造原子弹(权限验证) 。
那Hystrix熔断器呢,可以把它当成学校的志愿者,当一个教研组集体罢课后,学生找不到老师了,这些志愿者及时的告诉来访问的学生,相应的结果,异常信息等,免得大量的学生在学校等待,这些志愿者赶快把这些等待的学生梳理出去,学生一直在学校等待,那其他需要学生的学校,也会等待学生,最后造成大面积的学校瘫痪 。这里的学生我们看成一个个请求 。熔断器就是把某事故的蔓延即使熔断了 。
当然这些组件也是微服务需要注册到Eureka注册中心
那SpringCloud就可以看成是这个学校了 。众多上面提到的组件相当于都是这个学校的各职能部门 。
二、微服务的搭建ps: 博主基于Maven+idea搭建 。
另外SpringCloud需要基于springboot搭建 。
引入Spring Boot相关依赖:这里的springboot用的是1.5.7版本;引入Spring Cloud相关依赖:这里为 Edgware.SR5
2.1 工程初始化配置在Idea中创建工程:File -> New ->Project
文章插图
点击 Empty Project -> Next
文章插图
项目命名 -> 项目位置
文章插图
选择模组 modules ->next
文章插图
进入新的窗口后,开始配置Maven,打开设置 setting
文章插图
文章插图
因为我之前做过配置,因此只需要改变框1的路径,如第一次配置需要自己找到你maven放置的位置,以及settings.xml,repository的位置,实在不会的百度 maven集成idea
文章插图
3个框选择完毕后点击 ok
接下来新建module
文章插图
这里可能会出现加载不出archetype list的问题
文章插图
用了网上的所有解决办法花了3个小时解决都没用,重启之后竟然可以了····你敢信?????小时候网吧网管的至理名言都忘了!!重启一下嘛!!
出来之后 选择quickstart ->下一步
文章插图
名字自己想 想好后,复制一下你想好的 ArtifactId点击Next,groupId为组织名 也是自己想一个,一般为公司网址填写 。
文章插图
粘贴后下一步
推荐阅读
- Facebook邮箱抓取5个工具
- 阿萨姆红茶的历史,阿萨姆红茶泡法
- 土耳其红茶产自哪里,红茶在土耳其的历史
- 翡翠|分辨翡翠饰品的优劣,可以从色彩这方面着手,根据物理区别鉴定
- 从源码看Log4j2、FastJson漏洞
- 一文读懂Access数据库,从此不用Access数据库
- 从啃PS到啃C4D,我的动态设计之路
- 如何从 Kafka 看 时间轮 算法设计
- 小白是如何让Kali Linux操作系统从U盘成功启动
- 最完整的Vue教程-从零开始编写可视化大屏