从.net开发做到云原生运维(四)——.net core的微服务开发
1. .net 6.0项目模板变更
在.net 5和.net 3.1的时候,asp.net core项目模板里有个Program类和Startup类,在.net 6中引入了一个最小api的项目模板,在正常的模板中也把Startup类移除了。个人感觉这些做了以后,web项目模板和控制台,Maui这类的项目模板就保持统一了。
下图是api项目的.net6模板的样子。
下图Maui项目模板的Program类的截图
通过上面的两张图我们不难看出.net 6.0确实在统一上做了很多的努力。
2. 基于docker容器开发
个人学习的话,我推荐使用Docker Desktop这个软件进行安装。因为我们既可以学习docker容器作为日常开发,也可以用程序里带的K8s进行学习。
关于Kubernetes(简称K8S)的开启及基本使用,基于Docker Desktop & WSL2
我先用简单的几个项目做个演示,我用.net 6.0建了两个webapi和两个grpc服务,他们之间通过Dapr连接,然后交叉调用。具体什么是dapr这个大家可以自行搜索,这里我先不展开了,后面的文章会讲述下。
几个服务的运行情况如上图所示,我通过docker-compose启动了几个服务。
然后我通过HttpA的服务通过GrpcB调用GrpcA就可以将请求传递过去。
这些服务都是以容器的形式运行的。开发体验上和传统开发方式区别不大。
3. 微服务开发的一些理论知识
下图是我看的一本关于微服务的书籍,大家有需要也可以买来看看,或者找电子版看看。
微服务的理论知识需要系统的学习,对于在工作中做技术选型和决策有很大的帮助。