源无极

导航

 

1、传统架构演进到分布式架构


简介:讲解单机应用和分布式应用架构演进基础知识 (画图)

高可用 LVS+keepalive


1、单体应用:
开发速度慢
启动时间长
依赖庞大
等等

分布式架构目前很多公司在用

 


2、微服务
易开发、理解和维护
独立的部署和启动


不足:
分布式系统-》分布式事务问题
需要管理多个服务-》服务治理

 

 

 

2、微服务核心基础讲解


简介:讲解微服务核心知识(各个组件) :网关、服务发现注册、配置中心、链路追踪、负载均衡器、熔断

1、网关:路由转发 + 过滤器(用户下单和评论应该是登入才可以使用)
/api/v1/pruduct/ 商品服务
/api/v1/order/ 订单服务
/api/v1/user/ 用户服务


2、服务注册发现:调用和被调用方的信息维护

3、配置中心:管理配置,动态更新 application.properties

4、链路追踪:分析调用链路耗时:服务之间的调用
例子:下单-》查询商品服务获取商品价格-》查询用户信息-》保存数据库

5、负载均衡器:分发负载(自动将大的负载分发到小的负载的服务)

6、熔断:保护自己和被调用方

 

 

 

 


3、常见的微服务框架


简介:讲解常用的微服务框架

consumer: 调用方
provider: 被调用方
一个接口一般都会充当两个角色(不是同时充当)

1、dubbo: zookeeper + dubbo + springmvc/springboot
官方地址:http://dubbo.apache.org/#!/?lang=zh-cn
配套
通信方式:rpc(通讯响应快适合做秒杀活动)
注册中心:zookeper/redis
配置中心:diamond

 

2、springcloud: 全家桶+轻松嵌入第三方组件(Netflix 奈飞)
官网:http://projects.spring.io/spring-cloud/
配套
通信方式:http restful
注册中心:eruka/consul
配置中心:config
断路器:hystrix
网关:zuul
分布式追踪系统:sleuth+zipkin

学习资料:https://blog.csdn.net/zhangweiwei2020/article/details/78646252

 

 

 

 


4、微服务下电商项目基础模块设计


简介:微服务下电商项目基础模块设计 分离几个模块,课程围绕这个基础项目进行学习
小而精的方式学习微服务

1、用户服务
1)用户信息接口
2)登录接口

2、商品服务
1)商品列表
2)商品详情

3、订单服务
1)我的订单
2)下单接口

 

总结:

dubbo和springcloud的区别

总览

  Dubbo SpringCloud
服务注册中心 Zookeeper  Spring Cloud Netfix Eureka
服务调用方式 RPC  REST API
服务监控 Dubbo-monitor Spring Boot Admin
熔断器 不完善 Spring Cloud Netflix Hystrix
服务网关 Spring Cloud Netflix Zuul
分布式配置 Spring Cloud Config
服务跟踪 Spring Cloud Sleuth
数据流 Spring Cloud Stream
批量任务

Spring Cloud Task

 

信息总线 Spring Cloud Bus

 

最大的区别:Dubbo底层是使用Netty这样的NIO框架,是基于TCP协议传输的,配合以Hession序列化完成RPC通信而SpringCloud是基于Http协议+rest接口调用远程过程的通信,相对来说,Http请求会有更大的报文,占的带宽也会更多。但是REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更为合适,至于注重通信速度还是方便灵活性,具体情况具体考虑。

 

背景区别:Dubbo是来源于阿里团队,SpringCloud是来源于Spring团队,Spring广泛遍布全球各种企业开发中,可以确保SpringCloud的后续更新维护,Dubbo虽然来自国内顶尖的阿里团队,但是曾经被阿里弃用停更,但是后来阿里又低调重启维护。

定位区别: Dubbo 是 SOA 时代的产物,它的关注点主要在于服务的调用,流量分发、流量监控和熔断。而 Spring Cloud 诞生于微服务架构时代,考虑的是微服务治理的方方面面,另外由于依托了 Spirng、Spirng Boot 的优势之上,两个框架在开始目标就不一致,Dubbo 定位服务治理、Spirng Cloud 是一个生态。因此可以大胆地判断,Dubbo 未来会在服务治理方面更为出色,而 Spring Cloud 在微服务治理上面无人能敌。

模块区别:1、Dubbo主要分为服务注册中心,服务提供者,服务消费者,还有管控中心;2、相比起Dubbo简单的四个模块,SpringCloud则是一个完整的分布式一站式框架,他有着一样的服务注册中心,服务提供者,服务消费者,管控台,断路器,分布式配置服务,消息总线,以及服务追踪等;

性能区别:Dubbo的每次测试除去网络波动之外,都表现非常稳定

Spring Cloud在第一次最慢,之后越来越快,连续测试4次以上单次测试性能超过dubbo
Spring Cloud-zuul在第一次最慢,之后也表现越来越快,连续4次以上测试 单次性能与dubbo相近,相差在0.02ms内

 

 

posted on 2018-12-16 00:08  源无极  阅读(172)  评论(0编辑  收藏  举报