微服务基本概念解析

本文介绍了微服务架构的核心理念及Spring Cloud作为实现工具的重要作用。涵盖了服务注册发现、配置管理、负载均衡、断路器等功能,并详细解析了Eureka、Ribbon、Hystrix、Feign等关键组件。
摘要由CSDN通过智能技术生成

写的很粗糙,先带你们大致了解下概念,后续会不断补充,不断加深。

一、SpringCloud

SpringCloud是基于SpringBoot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。它的一些核心组件有:服务注册发现--Netflix Eureka,配置中心--Spring cloud config,负载均衡-- Netflix Ribbon,断路器--Netflix Hystrix,路由(网关)--Netflix Zuul.

二、SpringBoot

玩微服务,那微服务到底是什么?微服务是一种让软件职责单一、松耦合、自包含、可以独立运行和部署的架构思想。关键思想是:拆分、单一、独立、组件化。把一个原本很庞大、复杂的项目按业务边界拆分成一个一个独立运行的小项目,通过接口的方式组装成一个大的项目。首先我们需要选择一个注册中心,就像你去任何游乐园,他都有个服务前台,告诉你哪个游玩项目在哪个方向,那前台怎么就知道这些项目是在哪个方向的呢,因为事先注册好了呀。我们的微服务注册中心也是这个道理,将来你需要用的客户端、服务端、网关等都需要先进行注册,如此这般,就把我们开发的效率大大提高了。那么著名的开源框架有Zookeeper,但对于springBoot貌似我们还有更好的选择--Eureka.

三、Eureka

Eureka是Netflix公司开发的服务发现框架,本身是一个基于Rest的服务,我们先将服务注册到Eureka,每30s发送心跳检测重新进行租约,如果客户端不能多次进行更新租约,他将在90s内从服务器注册中心移除。注册中心和更新会被复制到其他Eureka节点,来自任何区域的客户端可以查找注册中心信息,每30s一次复制来定位他们的服务,并进行远程调用。客户端还可以缓存一些服务调用实例信息,即使Eureka全挂掉,客户端也是可以定位到服务地址的。

搭建过程:先搭建父类项目,再搭建服务端,然后配置application.yml文件。创建我们的EurekaApplication类,添加@SpringBootApplication,开启服务,还有@EnableEurekaClient服务,使他成为一个EurekaClient,在启动的时候就向EurekaServer注册,客户端是我们自己需要向服务注册的。

四、Ribbon

面对高并发的情况,我们需要在服务端和客户端做负载均衡。服务端做负载均衡,可以使用Nginx,客户端做负载均衡,就是客户端有一个组件,知道有哪些可用微服务的算法,根据一些轮询加权的算法之类。

五、Hystrix

在你的系统出现依赖服务失效的时候,通过隔离系统所依赖的服务,防止服务级联失败的同时提供失败回退机制,利用了观察者的设计模式,更优雅地应对失败。

六、Feign

微服务之间的远程通信方式,是一个声明式的Web服务客户端,使用Feign创建一个接口并对其进行注解,它具有可插拔式的注解支持,使用的时候在接口上加上@FeignClient,指定需要调用的微服务名字。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值