因为公司规划原因,需要做一套集团化的数据平台,而且我们数据量还不小,单一个分公司主业务表单表一年多点已经快4kw,还不算从表和结果记录表等。目前微服务项目这么热,而且整个团队基本都是在NET环境下的码工,之前也用Net core做了一些小的项目。所以我们也准备在大项目中实践微服务。同时也是想跟大家分享一下我的想法,看了一些文章,对一个大型项目一开始就上手微服务还是信心不足的,而且还有很多的坑等着我们去踩。所以文章内容不当之处请各位看官多多包涵,不喜勿喷,欢迎指正。
为了避免重复造轮子,其实也是人员不多团队技术能力有限,所以首先考虑的就是在Netcore环境下有哪些开源的项目,这样就可以借鉴一下。一顿g搜索,看到有NanoFabric,SpringCloud
NanoFabric | SpringCloud | |
服务治理发现 | Consul | EurekaServer |
熔断降级 | Polly | Hystrix |
网关 | Ocelot | Zuul |
并发 | Orleans | |
日志收集 | Exceptionless | |
服务总线 | Rebus | Cloud bus |
配置中心 | Apollo | Config |
RPC | gRPC | REST API |
以上两个项目相关的技术内容也是大致看了一下,后面边学习边详细的阐述。
既然要做,后面的问题才是真正的开始:
- 看到这些之后,技术是一个需要学习的,还有后期的发布和运维问题,涉及DevOps和容器,这些可能开发都需要介入。
- 可是后面我比较犯难的是本身这个项目就是一个集团化数据集中的项目,可微服务是去中心化的,需要把数据都拆开。可后面我们要做后台数据统计、标本该如何实现,全部都用微服务提供的服务去相互调用?效率如何保证。或者在用一个数据仓储把所有的数据集中起来,但这样数据同步的问题也是麻烦事,而且发现事情又做回去的感觉。数据库会因为数据量大小还需要分库分表,这样相应的逻辑又复杂了不少。都不敢往后想,工作量嘿大。
- 开发人员,担心变化快,版本多,共有私有云不稳定。还有灰度发布和A/B测试问题,性能压测
真是路漫漫其修远兮,给大家分享一下我的感受,后面不断的去攻克完善。
原文地址:https://www.cnblogs.com/kokyu02/p/12362516.html
时间: 2024-11-02 14:39:07