大叔公开课~微服务与持续集成
闲话多说
免费报名:http://www.genshuixue.com/teacher/classCourseDetail/171117794648
.Net Core来了,带给我们的是什么?跨平台,无疑是最大的亮点!
Docker横空出世,让开发者和运维者都尝到了甜头!
Jenkins持续集成,功能包括了持续的软件版本发布与测试,让开发人员专心关注自己的代码开发,让运维人员专心写部署代码,一次性工作,从来不要反复的做一件事!
云时代来了,容器时代了,面向应用的微服务也来了,麻烦也就跟着来了,我应该如何去找到你,应用A,你被部署到了容器里,你的IP不真的不清楚,因为你是那么的善变。因为出现了这些问题,所以在解决问题的道路上出现了“服务发现”,“服务熔断”,“服务注册”等。
微软.Net Core和Docker合作,打造多应用部署,我们都应该知道的YML
想像一下,把一个大系统拆分成多个小服务,这些小服务在分别去部署,或者它们之间又可以相互通信,这对于开发来说是清晰了,对部署来说是麻烦了,对开发来说是职责分离了,应用与应用之间解耦了,以后的A应用的升级不会影响到B应用了,这大概就是微服务设计的初衷吧!
1 微服务项目图
2 Dockerfile的使用
对于容器化部署来说,我们只要关心Dockerfle和YML文件即可,其中Dockerfile用来生成应用的镜像;YML用来部署这个系统里所有的应用。
应用C里的Dockerfile,它以aspnetcore为基础,然后将自己的发布的代码复制到了镜像里,最后使用dotnet命令启动这个应用!
3 docker-compose.yml进行服务的部署
YML里会有这个系统的服务名称和每个小应用的服务名及它们使用的Dockerfile的地址,生成的镜像名,镜像运行后的容器名,监听的端口,使用的网络,运行的环境等很多配置的信息
version: '3'
services:
a:
image: a
build:
context: ./应用A
dockerfile: Dockerfile
b:
image: b
build:
context: ./应用B
dockerfile: Dockerfile
c:
image: c
build:
context: ./应用C
dockerfile: Dockerfile
version: '3'
services:
a:
environment:
- ASPNETCORE_ENVIRONMENT=Development
ports:
- "80"
事实上,对于服务的部署可能要说的还很多,这里篇幅有限,就到这吧!
Jenkins之前我也写着一些文件,在我的自动化部署分类上,大家可以进行阅读!自动化部署&持续集成系列
感谢各位的阅读!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2015-11-18 小知识~让你的DLL类库带上注释