简要

spring cloud与dubbo比较

1.dubbo是阿里巴巴的服务治理框架,spring cloud是spring社区,强大的社区支持。
2.dubbo只是实现了服务治理,spring cloud覆盖微服务架构的方方面面,架构完整。
3.dubbo已停止更新,spring cloud社区活跃,版本在不断维护与更新。

架构图

1.所有的服务访问都通过一个网关api_gateway,对外只公开一个网关端口.
这样不必对外公开所有有应用的网络端口,这样有利于系统的安全.

2.所有的微服务都注册到eureka_server注册中心,注册中心保存着各个微服务
的详细调用地址信息,为了应对硬件故障及毁灭性问题,可以配置主,备两台机器,
当一台注册中心出现问题,会立马切换到备用机器.

3.spring cloud给我们还提供了更多齐全的微服务管理组件及方案,服务监控,
配置中心,消息总线,这些组件能够解决我们生产中大多数微服务问题及提供的组件方案.

章节

组件

1.spring boot
微服务程序框架

2.spring cloud eureka
服务治理,搭建高可用服务注册中心

3.spring cloud Ribbon
客户端负载均衡

4.spring cloud Hystrix
服务容错保护

5.spring cloud Feign
声明式服务调用

6.spring cloud Zuul
API网关服务

7.spring cloud config
分布式配置中心

8.spring cloud bus
消息总线,rabbitmq与kafka

9.spring cloud stream
消息驱动微服务

10.spring cloud sleuth
分布式服务跟踪

问题/方案

当要使用spring cloud进行产品开发,并保证稳定运行,必须解决如下几个方面问题:

1.spring boot开发框架(这个开发人员很容易上手,很容易满足)
2.微服务监控(监控微服务运行情况,根据微服务监控的日志,解决服务问题)
3.微服务发布(当有众多微服务时,如何方面发布,并让多个实例同时生效)
4.WEB项目JSP页面,service实现分离,token分布式登录机制(适合web项目)

项目代码

微服务框架
spring_boot 简单框架搭建

网关路由
api_gateway_tradition 传统路由
api_gateway 基于服务路由
api_gateway_dynamic_filter 动态过滤器
api_gateway_dynamic_route  动态路由

注册中心
eureka_server

配置中心
config_client 客户访问端
config_server 服务端

服务消费者
ribbon_consumer 客户端ribbon负载
feign_consumer 客户端feign负载

服务提供者
hello_service 服务提供者
hello_service_api 服务提供者api公共JAR
spring_boot_jsp 嵌入jsp页面实例

消息总线
rabbitmq_hello 基于rabbitmq消息总线实例

消息驱动微服务
stream_hello 基于消息驱动的微服务

微服务监控
hystrix_dashboard 仪表盘
turbine 集群监控
turbine_amqp 与消息代理结合

服务跟踪及日志记录
trace_1 微服务1
trace_2 微服务2 
zipkin_server zipkin服务端

微服务web方案(service与Jsp实现分离负载)
api_gateway2 网关路由
hello_service2 服务提供者
spring_boot_jsp2 JSP页面层

由于内容众多,不能一下子把自己的笔记,代码都转化成让人看着很直观的学习文档.

后面会不断的完善这些笔记文档及项目代码。


补充知识

git

rabbitmq与kafka