SpringCloudAlibaba是一个微服务的全套解决方案,相比较与SpringCloudNetflix他的优势在于有阿里巴巴作为维护,而Netflix很多组件已经停止维护十分不可靠
什么是微服务:拆开来理解,微:细小的,服务:一个独立与系统功能。合起来就是:一个小且独立于系统的小功能
为什么要使用微服务
1.这种架构更适合与高流量应用,不会因为某个模板的导致所有系统崩溃。也有系统崩溃处理,可以很方便的进行服务熔断降级,和流量限速,保证系统可用性
2.可以更精准的集群,根据业务流量大小选择某个服务去集群多少台机器,单体架构只能集群整体。
3.像淘宝双11的这种流量,还会采取一种机制,关闭某些模板(如退款)而去提高系统整体吞吐量,而单体架构却不好做
什么是分布式:分布式是一种部署方式,将系统部署在不同的机器上面。
为什么要使用分布式
假如你东西都部署在同一台机器上面,而那个机器受到损坏就会导致所有应用不可用,所以就分开部署,避免出现这种情况
什么是集群:集群是将一个服务部署多份
为什么要使用集群
为了一个系统的高可用性势必会要使用集群,如高流量并发很可能导致一个应用宕机导致不可用,而这个时候还有另一台机器是正常的,这是可以转移到这台正常的机器上面使用,还有一个分流的作用,你一个系统能抗3万流量并发,我集群三台再通过,负载均衡算法,分布到压力最小的机器上面就能扛起3*3万并发量。
SpringCloudAlibaba组件之Nacos
先去Nacos官方按照步骤下载一个安装包

然后去bin目录下启动nacos,nacos的默认账号密码都是nacos

使用nacos作为注册中心
首先搞清楚问什么要注册中心,在我们微服务系统中,每个系统都是独立的没有联系,那如何让他们建立联系了,那就要用到注册中心了,我们把自己注册上去,这样其他服务就都知道有我存在了。
1.导入jar包

2.在启动类上面标注我是一个,注册中心客户端

成功注册上去的图

上面说了注册中心的作用就是让其他服务感知到自己,现在就来使用feign测试一下
1.导入jar包

2.建包和类


3.最后扫描feign包让他生效

4.写个测试类

成功图,已2000端口访问到了7000端口的数据





