从运维角度看微服务 k8s部署微服务【偏理论】【AL】
从运维角度看微服务 & 部署微服务【偏理论】
1、微服务的特点
服务组件化:
每个服务独立开发、部署,有效避免一个服务的修改引起整个系统重新部署。
技术栈灵活:
约定通信方式,使得服务本身功能实现对技术要求不再那么敏感。独立部署:
每个微服务独立部署,加快部署速度,方便扩展。
扩展性强:
每个微服务可以部署多个,并且有负载均衡能力。
独立数据:
每个微服务有独立的基本组件,例如数据库、缓存等。
2 、另一个项目的微服务架构图及解释
① discovery-service 8761
② zipkin-service 9411
③ notebook-service 1111
④ gateway-service 8765
3、单体应用 vs 微服务
微服务架构图
注册中心 eureka-service
网关 api gateway / gateway-service前端服务 portal-service
商品服务 product-service
订单服务 order-service
库存服务 stock-service配置中心 Apollo
4 微服务架构的理解
1、微服务间如何通信?REST API,RPC,MQ
2、微服务如何发现彼此?
3、组件之间怎么个调用关系?
4、哪个服务作为整个网站入口?
5、哪些微服务需郪对外访问?
6、微服务怎么部署?更新?扩容?
7、区分有状态应用与无状态应用
----------回答1----------------1、微服务间如何通信?REST API,RPC,MQ
2、微服务如何发现彼此?通过服务发现机制,如使用consul、etcd等服务发现技术,可以让微服务之间相互发现。
3、组件之间怎么个调用关系?组件之间通过API调用机制进行通信,如RESTful API,RPC,MQ等。
4、哪个服务作为整个网站入口?最终用户访问的入口服务,一般是一个负责处理外部请求的API网关服务。5、哪些微服务需要对外访问?对外提供服务的服务需要对外访问,如:API网关服务,Auth服务,支付服务等。
6、微服务怎么部署?更新?扩容?微服务可以采用容器化部署,通过容器编排工具如Kubernetes来实现部署,更新,扩容等。
7、区分有状态应用与无状态应用?有状态应用是指应用程序的状态会被保存,比如服务器的内存状态,会话状态等,而无状态应用是指应用程序的状态不会被保存,比如HTTP服务器,每次请求都会从头开始处理,没有记录之前的状态。
----------回答2--------
1、微服务间可以通过REST API、RPC或者消息队列(MQ)来进行通信。REST API是一种轻量级的通信方式,通过HTTP请求和响应来实现;RPC是远程过程调用的缩写,是一种简单的、高效的、基于二进制的远程通信方式;消息队列是一种分布式系统中,应用程序间通信的方式。
2、微服务可以通过服务发现来发现彼此。服务发现是一种动态获取服务地址和可用性的机制,常用的服务发现机制有DNS、Eureka、Consul等。
3、组件之间的调用关系取决于各组件的设计,通常通过调用API、RPC、消息队列等来实现组件间的通信。4、整个网站的入口通常是一个API网关,它是整个系统的入口,负责请求的路由和组合,对外暴露统一的接口。
5、对外访问的微服务可以通过API网关进行对外访问。具体哪些微服务需要对外访问,取决于业务需求。
6、微服务的部署、更新、扩容等操作可以通过自动化工具,如Docker、Kubernetes等进行实现。7、有状态应用:
需要记录它在每次请求间的状态,例如购物车、订单状态等。
可以使用关系型数据库或 NoSQL 数据库来存储应用状态。
需要处理复杂的状态同步,以确保在分布式环境中的数据一致性。无状态应用:
不需要记录任何状态,因此不需要存储任何状态。
每个请求都是独立的,因此不需要关心数据的同步。
可以使用负载均衡器直接将请求分派到任意可用实例上,这使得它们可以轻松扩展。
5 为什么要用注册中心
微服务架构是一种分布式架构,其中一个微服务可以独立地部署、开发、运行和维护。当微服务数量增加时,通信和发现成为了一个重要的问题。
注册中心是微服务架构中一个关键的组件,它的作用是管理微服务的注册和发现。
每个微服务启动时,都会在注册中心注册自己的服务信息,包括自己的地址、端口号等。其他微服务可以通过注册中心获取到需要调用的微服务的地址和端口。注册中心还提供了容错机制,当一个微服务故障时,它可以从注册中心删除该服务的注册信息,避免请求该服务时产生错误。
总的来说,注册中心是微服务架构中的一个核心组件,对于简化微服务的通信和发现,保证微服务的高可用性起着重要的作用。
6 项目迁移到K8S平台是怎样的流程
1制作镜像 --> 2控制器管理Pod --> 3暴露应用 --> 4对外发布应用 --> 5日志/监控
1、制作镜像
2、控制器管理Pod / deployment
3、暴露应用 service
4、对外发布应用 ingress (域名)
5、Pod数据持久化
6、日志与监控
Filebeat+ELK
Prometheus+Grafana
7 传统部署与K8S部署区别
传统部署 - 整体架构
K8S部署–整体框架
(在K8S中部署SpringCloud微服务项目 53:22)
END
从运维角度看微服务 k8s部署微服务【偏理论】【AL】相关推荐
- 经典案例复盘——运维专家讲述如何实现K8S落地
经典案例复盘--运维专家讲述如何实现K8S落地 背景介绍 运满满自开始微服务改造以来,线上线下已有数千个微服务的 Java 实例在运行中.这些 Java 实例部署在数百台云服务器或虚机上,除少数访问量 ...
- 从运维角度看中大型网站架构的演变之路
前言 网上有很多文章类似于我今天要分享的课程,有架构师写的,有运维写的,还有开发些的,偏重点都不同,今天我以咱们运维角度全面讲解. 一个成熟的网站架构并不是一开始设计就具备高可用.高伸缩.高性能等特性 ...
- 从运维角度测试全局死锁以及带来的问题
从运维角度测试全局死锁以及带来的问题 第一个节点 [oracle@rac2 ~]$ sqlplus scott/tiger@192.168.15.101:1521/prod SQL> selec ...
- 【转载】运维角度浅谈MySQL数据库优化
运维角度浅谈MySQL数据库优化 2015-06-02 14:22:02 标签:mysql优化 mysql分库分表分区 mysql读写分离 mysql主从复制 原创作品,允许转载,转载时请务必以 ...
- 高可用集群篇(五)-- K8S部署微服务
高可用集群篇(五)-- K8S部署微服务 一.K8S有状态服务 1.1 什么是有状态服务 1.2 k8s部署MySQL 1.2.1 创建MySQL主从服务 1.2.2 测试主从配置 1.2.3 k8s ...
- 1+X云计算运维与开发初级 CIFS(Samba)服务 思维导图
1+X云计算运维与开发初级 CIFS(Samba)服务 思维导图 上一篇: 1+X云计算运维与开发初级 NFS服务 思维导图 下一篇: 1+X云计算运维与开发初级 构建 LNMP+WordPress ...
- K8s部署微服务(springboot+vue)
文章目录 前言 一.使用到的K8s资源 1.1 Deployment 1.2 Service 二.Springboot基础服务部署 2.1 网关gateway 2.2 鉴权auth 2.3 文件fil ...
- 实战演示k8s部署go服务,实现滚动更新、重新创建、蓝绿部署、金丝雀发布
1 前言 本文主要实战演示k8s部署go服务,实现滚动更新.重新创建.蓝绿部署.金丝雀发布 2 go服务镜像准备 2.1 初始化项目 cd /Users/flying/Dev/Go/go-lesson ...
- 从运维域看 Serverless 真的就是万能银弹吗?
作者 | 蒲松洋(秦粤) 作者说 在开始本篇内容前我想与各位开发者达成几个共识. 第一个共识,软件工程没有银弹, Serverless 也不是银弹,它并不是解决所有问题的万能公式. 第二个共识,Ser ...
最新文章
- GoogleTest测试框架搭建方法
- Linux 修改目录下所有文件权限
- iframe如何发送请求_插件分享 | 如何半天玩转一个“ES未授权利用”插件
- 社交系统ThinkSNS-plus(TS+)V1.0发布!
- 详谈分布式系统缓存的设计细节
- 绝大部分人根本没有职业素养
- 数据可视化黑科技!它比python强大20倍
- 更改SQL数据库的繁体数据为简体
- 【学习Spring框架】依赖注入和控制反转异同?
- sum of digits
- Word双栏右对齐插入MathType公式
- DD-WRT安装与配置
- Gym - 101572K Kayaking Trip 二分
- 论文第一部分写作总结(introduction)
- 摄像头采集图像本地HDMI输出延迟测试
- 树莓派4b常用资料汇总
- 完美解决django 在迁移数据库的时候出现的1146错误
- 统计学习方法 | 概论
- 计算机病毒的关键技术,计算机病毒实验系统关键技术研究与实现
- 【路径规划】A*算法方法改进思路简析
热门文章
- 如何防范银行卡被盗刷-吴雪峰-专题视频课程
- 推荐系统的常见推荐算法的性能比较
- ubuntu服务器怎么共享文件,Ubuntu怎么创建共享文件夹支持Windows访问?
- 武夷岩茶独特的品饮情趣
- phpcms设计缺陷未审核文章也可看,解决
- OpenAI的人工智能语音识别模型Whisper详解及使用
- 【数据结构与算法设计-基础向】C/C++编程练习 - 套圈(分治法解决最近对问题)
- 杭州江南专修学校计算机应用,2021年杭州江南专修学院高级护理招生计划及专业介绍-升学乐中职网...
- 10月24日,成为程序员的节日
- 电商项目构建springcloud