zoukankan      html  css  js  c++  java
  • 微服务实践一: 架构图谱

    目录

    1. 服务拆分与服务发现
    2. 微服务框架选择
    3. 服务间通信
    4. 服务编排
    5. 配置管理
    6. 服务端保护机制
    7. 监控
      • API监控
      • 服务调用链
      • 服务负载
      • 基础依赖监控
    8. 日志分析

    Monolithic vs Microservice

    Monolithic Microservice
    开发测试 Java类语言项目越大,运行调试需要越多的编译时间,本地调试有较多依赖,况且业务复杂后不易新人上手 只有部分功能的代码,运行更快速,根据业务划分,方便新人上手
    部署 更新整个项目 更新一个微服务
    生产调试 日志集中,调试方便 日志分散,服务依赖复杂;拓容简便

    这两种架构视乎业务的复杂程度和代码量的大小,复杂程度低于一定程度,还是单一应用开发更快速,部署更加容易,因为服务拆分和线上的调试这些都是需要成本,反之,当业务不断增加,代码不断膨胀,服务拆分显得逐渐重要,公共功能能抽出来做成基础服务,各个业务所需的轮子也不需要重新造一遍,反而节省了开发成本,同时对于新人的加入,由于服务职责单一,让新人进来一个一个服务地熟悉,好过于一个大而全的项目。

    微服务基础架构

    部署架构

    处理流程

    1. 浏览器发起下单请求到负载均衡(LB)
    2. 负载均衡派发请求到API gateway
    3. API gateway查询服务发现,找到user服务和store服务,将用户信息和商品ID发送给store服务,
    4. store服务查询MySQL,找到商品信息,生成订单信息,将请求发送给payment服务
    5. payment服务根据用户指定的支付渠道,向第三方服务发起请求,存储订单信息,并返回订单状态
    6. store服务 -> API gateway -> LB
    7. LB返回数据到浏览器

    微服务技术

    技术图谱

  • 相关阅读:
    Centos7如何安装开源办公软件Libreoffice
    vi/vim输入中文乱码,无法输入中文解决方法
    NFS+Rsync增量备份方案
    完全备份,增量备份,差异备份及恢复区别
    Centos7安装Windows程序,例如QQ,微信,notepad++等exe程序
    Centos7升级内核后,导致打开VMware提示需要安装vmmon和vmnet模块
    SSH安全加固
    PHP使用mail函数发送邮件
    Centos7使用mail命令发送邮件
    Python部署配置Django架构教程
  • 原文地址:https://www.cnblogs.com/pier2/p/6623524.html
Copyright © 2011-2022 走看看