《2019年微服务快速开发框架的设计.pdf》由会员分享,可在线阅读,更多相关《2019年微服务快速开发框架的设计.pdf(26页珍藏版)》请在三个皮匠报告上搜索。
1、.NET Core 2019China.NET Conf 2019微服务快速开发框架的设计开发框架-what?框架(Framework)整个或部分系统的可重用设计,表现为一组抽象构件及构件实例件间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。(来自度娘)China.NET Conf 2019框架的主要特点和要求代码模板化-统一的代码风格重用高内聚(封装)规范可扩展可维护协作开发通用性China.NET Conf 2019分分钟“搞定”一个开发框架打开电脑,找到“宇宙第一”IDEVisusal studio的图标,双击启动它,然后请单击“文件”-“新建”-项目,选择.net c
2、ore web项目然后,起个名字,选择保存的目录,再“下一步”,再“下一步”China.NET Conf 2019开发框架的构成组件China.NET Conf 2019一个真正可以使用的框架,必须是功能完备的操作数据库记日志缓存的存取常用小工具集NoSql的支持对依赖的第三方系统的解耦(暂时还没有想到)China.NET Conf 2019一个真正可以使用的框架,必须是功能完备的操作数据库DbHelperDbHelper(ADO.netADO.net、EFEF、Dapper.)Dapper.)记日志txt/databasetxt/database、log4net/log4net/nlognl
3、og缓存的存取 memorymemory、memcahememcahe or or redisredis?常用小工具集 Md5/Md5/JsonHelperJsonHelper/DateTimeHelperDateTimeHelper/NoSql的支持 MongoDbHelperMongoDbHelper对依赖的第三方系统的解耦 消息队列消息队列(RabbitMQ(RabbitMQ、ZeroMqZeroMq)(暂时还没有想到)China.NET Conf 2019三层架构&画图-一图胜千言China.NET Conf 2019系统架构图v1.0数据库Redis数据层(DAL)业务逻辑层(BLL
4、)表示层(UI/View)客户端客户端客户端客户端Log FilesChina.NET Conf 2019系统架构图-v1.1数据库Redis数据层(DAL)业务逻辑层(BLL)APIsH5PCWebSiteAppsLog FilesChina.NET Conf 2019系统架构图-v1.2数据库Redis数据层(DAL)业务逻辑层(BLL)APIsH5PCWebSiteAppsLog Files权限控制消息队列China.NET Conf 2019代码结构图Web APIServiceAPI.IServiceAPI.ServiceFrameworkIFrameworkLogFramework
5、ModelAPI.ContractModelDataAccessAPI.IRepositoryAPI.MongoDbRepositoryAPI.MySqlRepositoryAPI.SqlServerRepositoryAPI.PostSqlRepositorySystemCodesContractModelEntityExceptionsRepositorySharedToolsChina.NET Conf 2019架构范式的改变China.NET Conf 2019从单体到微服务单体架构APIs(api1,api2,api3)BLLDALLog Files微服务架构China.NET Co
6、nf 2019微服务的优势1.技术异构性:微服务可以轻松采用不同的技术栈。(C#/Java/PHP/Golang/)2.弹性:一个服务不可用不会导致整个系统不可用。(断胳膊少腿,也死不了)3.扩展:可以只针对那些需要扩展的微服务进行扩展。4.简化部署:不用重新部署整个应用,只需要部署个别服务,并可以快速回滚。5.与组织结构相匹配:符合康威定律(请找度娘)。6.可组合性:对已有功能组合实现新的应用。7.可替代性:重新实现某个服务相对容易些。China.NET Conf 2019微服务的挑战1.版本:各个微服务应该用统一版本号呢,还是各自独立版本?2.代码:重复的代码怎么办?(这还用问吗?抽出来,