一,传统应用和微服务应用对比
传统应用带来的问题
- 单一业务开发的迭代问题
- 扩容困难
- 部署回滚困难
微服务概述
- 微服务是一种将业务系统进一步拆分的架构风格
- 微服务强调每一个业务都独立运行
- 每个单一服务都应该使用更轻量级的机制保持通信
- 服务不强调环境,可以不同语言或数据源
微服务种类
- Dubbo
- Spring Cloud
- Zero ICE
二,环境构建-基于Guns+SpringBoot+Dubbo构建项目
注:Guns基于SpringBoot 2,致力于做更简洁的后台管理系统,完美整合springmvc + shiro + mybatis-plus + beetl!Guns项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块),可以直接作为一个后台管理系统的脚手架!(2,另写一篇博文概述)
基于springboot+Dubbo环境配置和基于spring+Dubbo环境配置(3,另写一篇博文概述)
微服务基本概念
- Provider:服务提供者,提供服务实现
- Consumer:服务调用者,调用Provider提供的服务实现
- 同一个服务可以既是Provider,又是Consumer
- Registry:服务注册与发现的注册中心,通常实用Zookeeper(4,另写一篇博文概述)
- Monitor:统计服务的调用次数与调用的时间的控制中心
- Container:服务运行容器
三,业务基础环境构建-API网关
注:项目实现业务接口抽离,API网关变形应用
API网关
- API网关类似于设计模式中的Facade模式
- API网关一般都是微服务系统中的门面
- API网关是微服务的重要主成部分
API网关常见的作用
- 身份验证和安全
- 审查和监测
- 动态路由
- 压力测试
- 负载均衡
- 静态相应处理
(构建guns-gateway,抽取业务API构建guns-api)