登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
园子
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
读发布!设计与部署稳定的分布式系统(第2版)笔记20_实 ...
读发布!设计与部署稳定的分布式系统(第2版)笔记20_实例层之代码
[ 复制链接 ]
兼罔
前天 20:09
1. 术语的定义
1.1. 服务
1.1.1. 指共同协作、以单元的形式对外提供功能的跨机器进程集合
1.1.2. 一个服务可以由多种可执行文件组成
1.1.3. 一个服务可能包含来自多个可执行文件的多个进程
1.1.4. 可能对外呈现单个IP地址,并在后台进行负载均衡
1.1.5. 可能有多个IP地址,且每个都使用相同的DNS名称
1.2. 实例
1.2.1. 指单台机器(容器、虚拟机或物理机)上的一个安装文件集,位于运行相同可执行文件的负载均衡阵列中
1.2.2. 一组实例指的是运行相同可执行文件的多个进程,这些实例在不同的机器上运行
1.3. 可执行文件
1.3.1. 指由构建过程所创建的制品,机器可以将其作为进程来启动
1.3.2. 在编译型语言中,是一个可执行的二进制文件
1.3.3. 对于解释型语言则是源文件
1.3.4. 还包括在执行之前需要安装的共享库
1.4. 进程
1.4.1. 指在系统中正在运行的一个应用程序,也是可执行文件的运行时镜像
1.5. 安装文件集
1.5.1. 指可执行文件、所有衍生目录、配置文件以及机器上的其他资源
1.6. 部署
1.6.1. 在一台机器上创建安装文件集的行为
1.6.2. 部署是自动化的过程,其定义在源代码控制系统中保存
2. 构建代码
2.1. 保证用户准确地知道实例中添加的代码
2.2. 建立从开发人员到生产环境实例的强大的“监管链”至关重要
2.3. 必须确保任何未经授权的一方,都无法在用户系统中添加代码
2.4. “监管链”从开发人员的工位开始,开发人员应该在版本控制系统中管理代码
2.4.1. 只有代码才能进入版本控制系统
2.4.2. 版本控制并不擅长处理第三方库或依赖库
2.5. 构建工具必须能将依赖库从某处下载到开发人员的计算机中
2.6. 从互联网下载依赖库虽然方便但不安全
2.6.1. 中间人攻击或上游库的操纵,从互联网下载的某个依赖库能轻易地被悄悄替换掉
2.6.2. 从网上下载依赖库,也应该尽快将其转移到私有库中
2.6.3. 只有当依赖库的数字签名与来自上游提供商已公布的信息匹配时,才能将该依赖库存入私有库中
2.7. 开发人员不应该最先在自己的机器上创建生产版本
2.7.1. 开发人员的计算机已经被彻底污染了
2.7.2. 浏览器也安装了“惹人嫌”的工具栏和冒牌的“搜索增强器”
2.8. 只能在CI服务器上创建生产版本,并将其二进制文件存在其他人无法写入的安全的部署包库中
3. 不可变、易处理的基础设施
3.1. 通过脚本描述的机器运行状态
3.1.1. “一层层抹泥”的方法更新机器的状态有两大挑战
3.1.1.1. 这样做容易产生副作用,脚本无法描述机器状态
3.1.1.2. 只能部分工作的受损的机器或脚本,它们会使机器处于未定义的状态
3.2. 创建新镜像
3.2.1. 不可变基础设施
3.2.1.1. 机器一旦部署就不再变更
3.2.2. 始终从已知的基础镜像开始,在其上施加一组固定的更改,之后不再对该机器进行修补或更新,这样做会更可靠
3.2.3. 当需要变更计算机时,再次从基础镜像开始,创建一个新的镜像
3.2.4. 容器的“文件系统”是部署包库中的二进制镜像,包含能在实例上运行的代码,当需要部署新代码时,我们不会再修补容器,而是构建并启动一个新容器,放弃旧容器
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
那些年搞不懂的高深术语——依赖倒置•控制反转•依赖注入•面向接口编程
如何优雅的使用RabbitMQ
分布式锁1 Java常用技术方案
浅谈我对DDD领域驱动设计的理解
游戏编程十年总结(下)
【前端性能】高性能滚动 scroll 及页面渲染优化
验证码对抗之路及现有验证机制介绍
从零开始入门 K8s | 手把手带你理解 etcd
中文写程序,何陋之有?
NHibernate之旅(2):第一个NHibernate程序
公司的中场
Android 系统缺陷不完全点评
谈谈如何从本质上理解sql语句, 存储过程,ORM之间的联系和取舍。
FFmpeg开发笔记(六十二)Windows给FFmpeg集成H.266编码器vvenc
[一步一步MVC]第一回:使用ActionSelector控制Action的选择
.net环境下跨进程、高频率读写数据
第二个iPhone应用程序:“Say Hello”
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
兼罔
前天 20:09
关注
0
粉丝关注
11
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9988
处匈跑
9998
森萌黠
9996
4
堵赫然
9996
5
凶契帽
9996
6
柴古香
9996
7
背竽
9996
8
斜素欣
9994
9
恐肩
9994
10
里豳朝
9994
查看更多