阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

news2024/11/27 0:26:14

阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

本文将分为目录、主要内容和大牛对本文的高度评价三部分组成,因为内容比较多,小编只能把部分知识点和目录拿出来给大家介绍,希望大家能够理解!!!

本文目录

====

阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

本文包括的主要内容

=========

微服务和 Docker容器技术是目前分布式架构中常用的主流技术,结合Kubernetes强大的容器服务编排与调度能力,中小企业能够简单快速地构建自己的分布式互联网架构系统。

本文结合实际生产项目的架构重构过程和经验,详细介绍从单体架构过渡到微服务容器化的分布式架构的各个方面,主要包括微服务开发和运维技术栈的选型、

Spring Cloud微服务开发、Rancher 和Kubernetes 生产离线环境下的安装与部署、微服务的容器化与服务编排、日志调用链的采集和展示、基于Prometheus 的系统监控,以及微服务的持续集成等要点。

本文基于Spring Boot、Spring Cloud、Docker、Rancher、Kubernetes等技术,主要提供从设计、开发、部署到运维的微服务容器化的生产环境整体解决方案。

第1章单体架构与微服务架构;

本章以一个电子商务订单系统为切入点,首先介绍了该系统的相关背景,然后简单介绍了单体架构和微服务架构的特点、优点与缺点,接着介绍了微服务的设计原则和拆分原则,最后介绍了微服务开发原则。作为一个新的软件架构模型,微服务架构有其特定的设计原则和拆分原则。

阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

第2章Spring Boot微服务开发;

本章主要介绍了微服务相关的概念、框架、开发与打包测试等内容。首先详细介绍了Dubbo服务框架和 Spring Cloud微服务框架,并对两个框架的概念、特点及技术栈进行了详细的介绍及对比。然后给出了微服务开发与运行的技术栈全景图,罗列了目前微服务相关的主流技术。

阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

第3章搭建微服务运行环境;

本章主要介绍了微服务常用的3个环境搭建工作,包括开发环境、测试环境和生产环境。Spring Boot对应的配置文件分为dev、test和 prod,三者的主要区别在于第三方服务IP地址、数据库地址、中间件地址及日志配置的不同。

阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

第4章Rancher和Kubernetes离线部署;

本章主要介绍了微服务运行环境的安装文件如何下载,以及微服务运行环境Docker、Kubernetes和 Rancher的离线安装。因为Docker和镜像仓库Harbor涉及CA证书,所以本章还介绍了CA证书的创建生成过程。

Docker离线安装使用yum localinstall 命令安装两个rpm安装包。Harbor作为流行的容器私有镜像仓库,其基于Docker Compose的安装方式简单、快捷,另外,安装Harbor需要配置前面生成的CA证书。Harbor 安装完成后,可以进行 Docker 的登录操作,以便于后续镜像的推送和拉取操作。

Rancher和 Kubernetes的安装部署过程如下:首先,安装Rancher平台,该平台用于Kubernetes集群的管理;其次,使用Rancher平台创建和安装 Kubernetes集群,使添加Kubernetes集群的Control、etcd 和 Worker节点变得轻松、简单。经过本章的微服务运行环境的安装部署,可以得到一个基于Kubernetes和 Rancher的容器化运行集群。

阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

第5章日志采集;

本章介绍了微服务系统整体端到端的日志采集,包括日志输出、日志采集、日志收集与处理、日志存储和日志展示等环节。首先介绍了基于Filebeat和ELK的日志采集模型,充分利用Elasticsearch 的全文检索能力以及Kibana丰富的图形化展示能力。其次介绍了微服务基于Spring Boot的日志输出配置,配置分为开发环境、测试环境和生产环境。最后按照日志采集模型,分别介绍了日志采集、日志汇集与日志展示。

日志采集首先是容器的日志目录挂载,然后使用Filebeat进行日志采集工作。日志汇集就是日志经过Filebeat采集后,输出到Logstash组件集中进行日志格式的转换,然后汇集到Elasticsearch组件和磁盘日志文件中。日志汇聚存储在磁盘文件中,供开发人员和维护人员使用Shell脚本查看日志。日志汇集存储在Elasticsearch组件中,供Kibana进行图形化查询和展示,可以绘制组合出丰富的图表和仪表板。

阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

第6章调用链跟踪;

本章首先介绍了调用链追踪的概念,阐述了服务调用的Trace和 Span 的内涵。然后介绍了Spring Cloud调用链跟踪模型中的Sleuth组件和Zipkin组件,同时介绍了SpringCloud调用链跟踪模型。

最后介绍了Sleuth+Zipkin调用链追踪技术,在开发环境、测试环境和生产环境中的配置,以及调用链数据存储在Elasticsearch组件中,同时介绍了如何在Zipkin和Kibana中图形化展示与检索调用链信息。

阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

第7章熔断器;

本章首先介绍了微服务中熔断器的概念,然后介绍了Spring Cloud中熔断器Hystrix的特点。最后介绍了熔断器相关的Maven依赖配置、熔断器的使用代码编写和熔断器的图形化展示与监控。

阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

第8章容器化与服务编排;

本章介绍了容器化、虚拟机及服务编排等内容,重点介绍了生产环境中应用镜像的构建过程。镜像包括母镜像、基础镜像和应用镜像,同时介绍了应用镜像的基础构建方法。

服务编排方面主要介绍了基于Rancher 的Kubernetes容器服务编排平台,结合生成实践介绍如何使用Rancher进行微服务的创建、升级,以及目录挂载如何操作、环境变量如何配置等。最后结合生产项目中使用Nginx做其他微服务的负载均衡的工作负载,介绍了如何创建Config Map,以及如何使用Config Map等。

阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

第9章系统监控;

本章首先对系统监控进行了概述,包括主机监控、安全监控、中间件监控、业务监控、容器监控等。然后介绍了Kubernetes集群常用的监控方案,通常选择基于Node Exporter、Prometheus 和 Grafana的监控体系。

接下来依次对Node Exporter、Prometheus和 Grafana组件的部署文件进行了说明,最后结合Grafana组件的图形化仪表板介绍了Grafana 组件功能强大、类型丰富的图形化展示能力。

阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

结合Grafana组件的图形化仪表板介绍了Grafana 组件功能强大、类型丰富的图形化展示能力。

阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/92315.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎么安装 Arch Linux?

Arch Linux 是一个 x86-64 通用发行版,它流行于那些喜欢 DIY Linux 系统的用户和 Linux 铁杆粉丝当中。 本文导航 ◈ 如何安装 Arch Linux11% ◈ 安装 Arch Linux 的条件:14% ◈ 第一步:下载 ISO 文件18% ◈ 第二步:创建一个 …

磨金石教育摄影技能干货分享|世界顶级的手机摄影作品欣赏

随着手机像素越来越高,拍照功能越来越完善,手机摄影成为了越来越多人的首选,大家不再执着于单反相机。手机的方便与简捷更受非专业人士的青睐。 每到一个地方,见到不同的景色和人文,我们都可以随手掏出手机记录这些美好…

前端模板-2【vue部分小功能】

前端模板【vue部分小功能】 1 Vue部分模板 1.1 vue实现store【存储当前选中页面】 我的习惯用法,大家可自行调整【以存储当前页面名称为例】 ①在src下新建文件夹store,并创建configure.js、index.js configure.js const configure {state: {HOST: h…

LeetCode 每日一题——1945. 字符串转化后的各位数字之和

1.题目描述 1945. 字符串转化后的各位数字之和 给你一个由小写字母组成的字符串 s ,以及一个整数 k 。 首先,用字母在字母表中的位置替换该字母,将 s 转化 为一个整数(也就是,‘a’ 用 1 替换,‘b’ 用 …

React 入门:实战案例 TodoList 底部功能实现

文章目录目标实现效果实现已完成和全部数量统计和显示实现全选和全不选实现清除已完成功能完整代码App 组件完整代码Footer 组件完整代码通过前面的章节已经完成 TodoList 的增删改的功能,本文我们来实现底部相关功能:已完成和全部数量实时统计&#xff…

【Linux】文件系统/inode/软硬链接

目录 一.了解磁盘 1.磁盘的概念 2.磁盘的物理结构 3.磁盘的逻辑结构 4.磁盘区域的划分 二.linux文件系统 三.inode 四.软硬链接 1.软链接 2.硬链接 一.了解磁盘 前言: 一般情况下, 系统中存在大量的未被打开的文件, 这些文件全部存储在磁盘上, 也简称磁盘级文件 在li…

功能测试进阶自动化测试,一个女测试工的坎坷之路

绝大多数测试工程师都是从功能测试做起的,工作忙忙碌碌,每天在各种业务需求学习和点点中度过,过了好多年发现自己还只是一个功能测试工程师。 随着移动互联网的发展,从业人员能力的整体进步,软件测试需要具备的能力要…

从ADAS到高阶自动驾驶,车联网芯片如何赋能产业升级?

2022年,L2及L2ADAS前装搭载率正在快速提升,中国智能网联汽车产业进入了由ADAS加速向高阶自动驾驶迈进的关键期。 根据《高工智能汽车研究院》数据显示,今年1-9月前装标配搭载L2级辅助驾驶搭载量为395.19万辆,同比增长69.53%&…

Java开发必备技能:RocketMQ

官方文档可见:https://github.com/hiwei-zhang/rocketmq/tree/develop/docs/cn RocketMQ集群架构 RocketMQ由以下这几个组件组成 NameServer : 提供轻量级的Broker路由服务。Broker:实际处理消息存储、转发等服务的核心组件。Producer:消息…

69. 利用 ALV 实现增删改查系列之一:让 ALV 报表进入可编辑状态

在 CSDN 和我的知识星球里有朋友向我提出同样的问题,询问如何在 ALV 里实现增删改查操作。 虽然需求只有一句话,但是这个需求背后涉及到的知识点不少,因此笔者会通过几篇文章的篇幅,来介绍这个需求的详细实现步骤。 本文先解决第一个障碍,如何让 ALV 报表进入可编辑状态?…

[ MySQL ] 使用 MySQL Workbentch 进行MySQL数据库备份 / 还原(Part 3:备份.sql文件方式)

本文主要讲解如何用 MySQL Workbentch 进行MySQL备份和恢复数据库(利用.sql文件的方式)。 关于MySQL数据库备份,本博客内主要相关文章有: [ MySQL ] 使用Navicat进行MySQL数据库备份 / 还原(Part 1:备份.…

Unity发布Android平台错误记录

Unity发布Android平台错误记录 (1)Cannot parse project property android.enableR8‘’ of type ‘class java.lang.String’ as boolean. Expected ‘true’ or ‘false’. 注释掉android.enableR8MINIFY_WITH_R_EIGHT打包就可以了 (2&…

电线电缆企业应用APS计划排产软件的效益

电线电缆行业是我国经济第二大的配套产业,仅次于汽车产业,年市场规模超万 亿,按产品可分为电力线缆、电气装备用线缆、通信线缆以及绕组线等。电线电缆用以传输电(磁)能,信息和实现电磁能转换的线材产品。广义的电线电缆亦简称为电…

基础算法系列之基础(二)[大数问题]

文章目录前言大数相加大数相减大数乘法除法总结前言 OK,继续预热哈,没办法还得补作业,要G了,明天看看有没有时间加更一篇。 那么今天的话还是来说一下这个精度的一些问题,也就是大数之类的一些问题啥的。这个当然咱们…

mysql优化

索引: 排好序的数据结构 从磁盘上拿一条记录要和磁盘做一次IO操作,,磁盘的IO性能不高 索引数据结构: 二叉树(binary search tree) : 单边增长的数据没有帮助红黑树(red black tree) : 二叉平衡树&#x…

YOLOv1-YOLOv7全系列解析汇总

导读 目标检测Yolo算法是非常经典且应用广泛的算法,而在Yolo中,又分成了输入端、网络推理、输出层,每个部分都可以延伸出很多的优化方式,本文主要从Yolov1~v7各个版本的Backbone,Neck,Head,Tri…

JSPM基于SSM的乐聘网人才招聘系统

开发工具(eclipse/idea/vscode等):idea 数据库(sqlite/mysql/sqlserver等):mysql 功能模块(请用文字描述,至少200字):主要功能模块 (核心功能完整,不局限于下面我想的功能,下面的功能可以改&…

LeetCode刷题总结文档

前言 本文的刷题顺序依照代码随想录进行,因此题目板块的划分也和代码随想录一致。每个版块我会按照以下内容进行组织: 该类型题目的特征时间复杂度值得一讲的相关题目知识 正文 数组 二分查找 特征:有序数组中找特定组合的快速查询方法…

如何查询域名是否备案,域名备案批量查询方法

所有备案的域名都是需要通过工信部审核,录入到系统才可正式使用,所以我们在工信部的网站查询域名是否由备案信息就可以辨别出此域名是否有备案了。但是,大多数站长少则几十个域名,几千几万域名也是有的,如果还是在工信…

kong网关使用记录

kong 是一个api网关,类似nginx的网关,一般用于api服务的管理 kong 可以从consul中通过dns获取服务路由,可以自动实现负载均衡 kong kong最新版没有了conteos的安装文档,现在用Ubuntu来安装kong 1 下载kong curl -Lo kong-enter…