微服务01-认识微服务

微服务的本质是什么?

是由all in one到模块化的转变,在微服务之前我们很多的项目都是把所有的服务功能都放到一个模块中.随着用户量的增大,服务器的压力也越来越大,负载均衡也解决不了.这个时候微服务框架就能解决这个问题.
在一个项目中,往往有的模块的功能使用频率极大,而有的模块功能使用频率较小,这个时候我们就可以把这些功能模块拆分出来作为一个独立模块发布到一个独立的服务器上,使用频率大的模块就多分配几个服务器,使用频率小的模块就少分配几个服务器.这样就能很好的缓解服务器的压力.

微服务的开发模式面临着什么样的问题?

1. 服务很多,客户端该怎么访问?
客户在访问一个网站的时候,只能有一个入口,那么这么多服务该如何分配请求?如何保证客户能够访问到想要访问的服务呢?服务部署在不同的服务器,客户该如何访问?
2. 这么多服务,服务之间如何通信?
一般是基于RPC或者HTTP.
3. 这么多的服务,给人如何治理?
服务的注册与发现的机制-注册中心.
4. 服务挂了怎么办?
容灾机制.

解决分布式问题

什么是Spring Cloud?
Spring Cloud是一种生态,为了就是解决分布式带来的问题.现代式的JAVA开发构建是通过SpringBoot,协调是通过SpringCloud.
比较流行的几套分布式解决方案

  1. SpringCloud NetFilx(一站式解决方案)
    api网关,zuul组件解决客户端访问问题.
    Feign是基于HTTP的异步阻塞通信解决服务之间通信问题.
    服务的注册与发现:Eureka
    熔断机制:Hystrix

  2. Apache Doubb+Zookeeper(半自动,需要整合其它东西)
    没有API网关,找三方组件,或者自己实现
    Dubbo的RPC通信解决服务之间通信
    Zookeeper:服务注册与发现.

  3. SpringCloud Alibaba(新的一站式解决方案)

  4. 新概念:服务网格:istio
    总结要解决的问题:
    API网关解决服务路由问题.
    服务之间通信问题HPPT或者RPC
    服务注册与发现解决高可用问题
    熔断机制,解决服务崩溃问题.
    这些问题产生的原因是网络不可靠,网络会丢包或者被拦截.导致数据不完整

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值