java 发表于 2019-1-18 15:13:39

搭建微服务架构

青山_20181209_如何快速搭建一个微服务架构
什么是微服务
单体架构
SOA---面向服务的架构
微服务架构


大型单体应用的缺点
开发困难
部署耗时长
稳定性差
扩展性(Scale Up)


微服务架构的优点
边界清晰,开发简单
技术栈灵活
松耦合
可用性高
按需扩展


微服务架构的缺点
1.运维难度大
2.代码依赖变成接口依赖
3.分布式带来的复杂性
网络延迟
容错
消息序列化
数据一致性
异步调用


SSM改造成微服务
SSM(Spring+SpringMVC+MyBatis)


前提知道
Spring Boot
Spring Cloud


服务拆分后的问题1
服务寻址问题:多服务 多实例 动态扩容缩容
服务注册与发现--Netflix Eureka

服务拆分后的问题2
服务调用方式问题 RestTemplate
REST即表述性状态传递(英文:Representational State Transfer,简称REST)
服务负载均衡问题
基于服务端的负载均衡
基于客户端的负载均衡

服务拆分后的问题3
服务调用容错问题
hystrix容断


服务拆分后的问题4
服务调用参数传递问题
"像调用本地方法一样调用远程服务"
声明式服务调用-Feign (集成Ribbon)



服务拆分后的问题5
权限过滤重复代码问题






java 发表于 2019-1-18 16:42:32

微服务实践之路
What
Why
How

微服务是什么?
细一种细粒度的SOA
SOA又是什么?
SOA (面向服务的架构) Service-Oriented Architecture

SOA有什么?
---特征
面向服务 Service-Oriented
松耦合 Loose-Coupling
模块化 Modular
分布式计算 Distributed Computing
p2p 对等模式
cs bs 不对称架构
平台无关性 Independent Platform
操作系统无关
语言无关
集中管理 Center Government


---代表技术
  Web Services---soap   同步
Message Queue----异步
ESB Enterprise Service Bus,企业服务总线 ---路由

SOA不是什么?
  SOA不等于Monolithic

Monolithic 是什么?

为什么要微服务
效率的需要
质量的需要
稳定的需要
运维的需要
成长的需要


为什么不必微服务
场景单一
逻辑简单
业务渐逝
老成持重
技术盲从

怎么实现微服务
心态
--"子路有闻,未之能行,唯恐有闻"
--"不患无位,患所以立"
--"攻乎异端,斯害也已"
--"过则勿惮改"

技术
--虚拟化技术(Docker等)
--方法论(DDD EIP)
--中间件(Java EE, Spring Boot, Spring Cloud等)


DDD
--有界上下文(Bounded Context)
--持续集成(Continuous integration)
--上下文映射(Context Map)
中间件
--Java EE
--Spring Boot
--JFinal

思想
--少谈"敏捷"
--推崇"简洁"
--学习"狄仁杰"



页: [1]
查看完整版本: 搭建微服务架构