如何正确的使用微服务

最近公司的项目用微服务的形式挑了一下,总感觉不对头,希望大家帮忙解答一下,能给个大概的模块拆分标准,库表拆分原则,或者是参考资料、书籍之类的东西~情况大致如下

最开始,我们的系统就是一个简单的 tomcat 应用

第一阶段

然后客户反应不错,直接代码复制,稍做修改,为新客户部署了第二套

第二阶段

接着就发现,代码雷同度太高,相同的BUG 需要修改俩个地方,这样下去不行,于是抽离了其中的核心部分,将硬件设备统一管理,用户只需要关注业务,同时将各个服务独立开来,并且接入更多的客户

第三阶段

在第三个阶段,就发现业务逻辑开始有点乱了,用户直接查询自己的数据没问题,但是如果希望获取到当前设备的状态,就需要去运维中心查,这样通过数据中心中转了一次,一个设备 ID,两个库表都要存一份,类似这样

库表示例

这样看起来,感觉就不对~

11个回答

服务拆分有3个层次;
第1是把技术性功能拆分出来比如,短信服务、邮件服务;这是最简单的没有大的难点;无非是接口管理优化一下。
第2是把并行的无交集的业务流拆分出来;如果业务库拆分了,则难点是跨库表连接如何处理。一般只能把需要连接的数据进行同步。
第3是将某业务流中串行的业务节点拆分出来;业务节点分别在不同jvm中运行,则难点是分布式事物。
跨jvm的分布式事物,可以用micro-datasource解决。参考文档:
http://blog.csdn.net/thethefighter/article/details/78401790
开发框架推荐用nhmicro
https://github.com/jeffreyning/nh-micro

微服务被用来创建一些复杂的系统,这些系统由小型且自治的服务构成,而这些服务通过各自的API接口进行数据交换,同时有相应的有界上下文明确它们的范围。一定程度来说,微服务就是面向对象编程方法所期待的东西

楼主,建议你把数据库重新创建或跳转字段类型,这个原因可能是因为字段类型不匹配造成的,谢谢

微服务被用来创建一些复杂的系统,这些系统由小型且自治的服务构成,而这些服务通过各自的API接口进行数据交换,同时有相应的有界上下文明确它们的范围。一定程度来说,微服务就是面向对象编程方法所期待的东西

把api接口打开,实现数据传递

而这些服务通过各自的API接口进行数据交换,同时有相应的有界上下文明确它们的范围。一定程度来说,微服务就是面向对象编程方法所期待的东西。

把api接口打开,实现数据传递 就可以了

微服务被用来创建一些复杂的系统,这些系统由小型且自治的服务构成,而这些服务通过各自的API接口进行数据交换,同时有相应的有界上下文明确它们的范围。一定程度来说,微服务就是面向对象编程方法所期待的东西。

图写的不错,是个逻辑思维很强的人,不过这个问题不在我专业范围内,抱歉

共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐