微服务架构笔记-20200619-

API Gateway

端->网关层->BFF层->微服务层
管网络的body

BFF,即 Backend For Frontend 又称为用户体验适配器

向无线端 设备暴露友好和统一的API,方便无线 设备接入访问后端服务
网络架构

DFF,Design For Failure 容错设计

批量上传订单失败,但是不知道是哪个订单导致了失败,因为系统并没有告诉用户是那几行有问题(容错)
我们要基于用户是吗非常不靠谱的来设计和开发我们的系统,随便用户怎么搞,我们的系统就是屹立不倒,当用户输入错误的数据时,能很nice地告诉用户你哪里哪里错了
除了用户会出错,网络也会出错,磁盘也会出错,服务器也会出错
时刻谨记保持 服务契约(接口)的兼容性

组件服务化

传统实现组件的方式是通过库 (library)
微服务 端 + 网关接入 + 服务 + 基础设施
基础设施自动化:开发、调试、测试、部署、监控
每个服务面临的 业务场景不同,可以针对性的选择 合适的技术解决方案。但也需要避 免过度多样化
每个服务独享自身 的数据存储设施(缓存,数据库 等)

微服务和分布式应用

RPC(远过程调用)在分布式系统中是很常用的基础通讯手段,核心思想是将不同进程之间的通讯抽象为函数调用。
RPC接口 时序清晰,逻辑简单,和普通的函数调用完全等价。
毛病:
网络通讯的延迟会严重的制约请求-响应式RPC的响应速度

微服务和soa

soa指的是面向服务编程
服务中心化(ESB<->app)

微服务划分

小的服务代码少,bug 也少, 易测试,易维护,也更容易不断迭代完善 的精致进而美妙。
服务去中心化,不同的服务可以采用不同的sql/nosql数据库技术。
每一个服务都有自己的数据库持久化业务数据(mybatis-mapper/entity/dao)
通过调用微服务可以实现多个数据库
案例
1 app/h5 获客户 – 客户管理子系统(db1)
2 普惠平台新增客源 – db2
3 更新完实现app通知 – db1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值