Spring Boot与Kubernetes云原生微服务架构实践

阅读: 评论:0

Spring Boot与Kubernetes云原生微服务架构实践

Spring Boot与Kubernetes云原生微服务架构实践

杨波 06-12 微服务技术专家 eBay 开放平台 研发
12-15携程 微服务核心中间件
拍拍贷框架研发技术总监 容器云平台研发 云原生

 微服务:一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。

Api 微服务 案例驱动型 课程 原理+ 编程技术结合 + 工具

   Saas 多租户 开源项目     研发环节  前后分离- 需求- 架构设计- 框架搭建- 服务实现- mock + 安全测试 - 可运维架构- 容器云部署

02丨背景说明

devops

  • 前后端分离 并行开发 技术要素
  • dubbo springcloud kubernetes 微服务 主流开发 选型
  • 中台架构 架构设计 技术栈选型
  • spring boot 封装 应对 微服务架构 与 需求
  • 登录验证 授权 安全框架
  • 网关
  • 国内 30% spring框架
  • 微服务分布式系统 测试技术
  • 分治隔离 分层测试
  • saas 多租户 租户 隔离
  • 配置 监控告警 部署 企业级可运维
  • docker 打包 > 物理/虚拟机
  • 软件工程

课程背景介绍 需求说明

目标内容

系统架构设计 技术栈选型


单页Web应用(single page web application,SPA)

业务边界拆分 解耦
单块架构

拆分时期 : 单块应用 耦合 影响 开发创新 进度

面向对象 面向组件
面向微服务

为何采用微服务架构


restfui 微服务
account 微服务 注册 认证 账户信息管理
company 微服务 团队 雇员 班次 核心业务 管理
独立数据库
bot api 消息转发服务 缓冲 通知消息 代理 屏蔽可通知方式 的变更
sms
mail 通知消息微服务
whi am i 前端消息 获取 登录用户详细信息 session 用户会话

前端 mvc应用

反向代理 网关 路由访问 登录鉴权 访问控制 唯一具有 公网ip 服务 json_http


微服务 架构 中心总体思想

应对系统复杂性 分而治之
单一职责 业务划分 受控 易于变更
开发团队 快速并行 交付
逻辑独立性
子域 继续拆分服务


springrest 微服务
springdata gpa
mvc Thymeleaf
servlet.filter 安全路由
支持 云原生 一键部署

共享数据库 的 逻辑隔离机制 公司为 隔离单位
用户在网关鉴权 服务调用 也有相应 鉴权机制
保护 数据 隔离 安全性

架构设计和技术栈选型 数据和接口模型设计:账户服务

数据库 模型设计

账户服务

数据和接口模型设计:公司服务


核心业务模型 七个 表


一对多





数据和接口模型设计:业务服务

技术栈 选型

 面向服务架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。

阿里
net
谷歌
引进的 技术解决方案
分布式微服务开发框架

自成一体 架构缺乏一致性 同时维护多套体系
深入理解

交付 服务价值 需要 基础设施支撑

配置 :
启动期一次性配置 数据库连接字符串
运行期动态配置 缓存过期时间
业务数量

服务发现 负载均衡:
服务分布在 不同节点上 相互调用
定位找到对方 = 服务发现(微服务架构 基本问题)

服务以 多实例方式 部署
调用方 以 负载均衡 策略 访问 目标 服务实例

容错弹性 :分布式 通过 网络 互联(不稳定、宕机、延迟、出错)

微服务系统 对外暴露 api 通过 api网关 进行管理
网关 支持 反向路由 安全鉴权 日志监控 限流 容错

高级: 蓝绿部署、A/B测试以及灰度发布

用户 认证 – 敏感操作 鉴权
服务之间 也需要 权限管控

metrics监控 : 微服务调用量 延迟 性能监控

业务指标 登录数 下单数

调用链监控: 掌握 微服务 错综复杂的 依赖关系 性能等

容器云环境 的 部署 资源调度发布

滚动发布 蓝绿发布 企业高级发布 机制

10自愈 自动伸缩 节省硬件资源
云环境 节点 宕机 漂移
微服务 自动检测 自动恢复

关注点 抽象封装—软件产品 微服务框架/平台

Netflix Google 阿里 解决方案

侧重点 不同

dubbo – zk(zookeeper 服务发现)
nacos 更通用

springcloud + eureka

k8s + service(服务发现+LB负载均衡)

api网关 阿里 内部 业务 耦合 不好开源

spring config 后端基于 git进行 管理

k8s 配置 可以对接 各种 存储机制

sentinel 生产级 限流平台

k8s 健康检查 启动就绪探针 机制

Dubbo、SpringCloud和Kubernetes该如何选型

横向比对
springcloud 支持 嵌入式容器

k8s 容器镜像部署 Helm打包 应用商店

k8s 支持 自动故障检测 自愈能力

进程隔离 服务隔离

逻辑隔离 多环境 认证授权机制

使用量限制 配额管理

蓝绿测试 流量调度能力




HSF (High-speed Service Framework),是在阿里巴巴内部广泛使用的分布式 RPC 服务框架。

流量治理 细致

spring 灵活组装
jvm语言栈 吃资源

k8s 活跃 微服务标配


面向服务架构(SOA)是一个组件模型,
它将应用程序的不同功能单元(称为服务)进行拆分,
并通过这些服务之间定义良好的接口和协议联系起来。

社区生态 + 微服务 关注点
springboot + k8s

用现成的 公有云 k8s 不 自己运维


  • 业务 与 组织 的 概念 —— 中台

2015 大中台 小前台 中台战略 阿里

业务经验 组织沉淀 抽象 封装 重用

对前台业务 强力支撑

iaas 运维 基础设施 计算 网络 存储 发布

商业能力模块 共享业务 能力 层 形成api 供上层 调用

企业 中高层 业务组织 架构 技术总监 架构师

业务基础设施层
技术平台层
应用平台服务层
客户体验层

中台架构 通用型


初创公司 不需要 创建自己的 底层 基础设施 平台

开发应用 一键部署 到 公有云

本文发布于:2024-02-01 01:52:07,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170672352933000.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:架构   Spring   Boot   Kubernetes
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23