微服务框架 Dubbo
根据微服务框架 Dubbo 的架构图,画出 Dubbo 进行一次微服务调用的时序图。
关于微服务架构(中台架构、领域驱动设计、组件设计原则),你有什么样的思考和认识?
没有使用微服务的相关经验,此处借用一些观点:
When to Use Microservices
As a good starting point, these would be some of the ideal situations you can prefer microservices over their monolithic counterparts.
When you want your monolithic application to accommodate scalability, agility, manageability and delivery speed
When you have to rewrite legacy applications in today’s programming languages or tech stacks to keep up with modern-day business requirements and solutions
When you have standalone business applications or modules that have to be reused across diverse channels—some good examples would be login services, search options, authentication facilities and more
If you’re building a highly agile application (product or service) that demands swift speed of delivery, innovation and more
When Not to Use Microservices
The co-founder and CTO of Contino, Benjamin Wootton, says that microservices are not a free lunch. This signifies the fact that they’re not for everybody. Ever since its inception and the fact that Netflix sort of romanticized microservices by claiming there are over 700 microservices running for the platform, companies got all excited to implement them in their businesses.
But what most failed to notice is that the success stories stemmed mostly from product-based companies, which have gone through tons of iterations and models before they had a market-ready product. This architecture became appropriate to them after they realized the problem they tried to solve and became successful at it. That’s why it’s essential to understand in-depth if you need microservices for your business.
As a starting point, here are some factors.
Microservices are solutions to complex concerns and if your business doesn’t have complex issues, understand that you don’t have a system in place to handle the complexities of microservices.
Using microservices can prove to offer contrary consequences if you don’t have a team size that cannot handle the tasks involved. This will only result in the delay of delivery.
Implementing microservices for the sake of it can be hampering as well. If your application does not require to be broken down into microservices, you don’t need this. There is no absolute necessity that all applications should be broken down to microservices. There are those that are simple by their nature and functionality.
参考文献:
https://containerjournal.com/topics/container-ecosystems/when-to-use-and-not-to-use-microservices/
版权声明: 本文为 InfoQ 作者【莫莫大人】的原创文章。
原文链接:【http://xie.infoq.cn/article/b84f51efe619e2590225d0e64】。文章转载请联系作者。
评论