应用软件多语言
我们有集中式应用程序。 我们介绍了分布式应用程序。 现在,我们已经分散了应用程序。 它将取代整个系统吗?
当我想到IPFS之类的数据存储(被设计为P2P数据存储)的未来时,我记得NoSQL数据库的出现。 有人声称NoSQL数据库将取代SQL数据库,而另一则相反。 但是,我们现在有多语种数据存储[1]。
分散的应用程序可能会违反整个规则。 我们可能拥有一个更加安全和不信任的世界。 但是,集中式,分布式和分散式应用程序都有其自身的优势。 我们将始终需要集中化的应用程序,因为今天分布式应用程序并没有取代它们。 我们也将需要分散的应用程序。
分散应用程序的好处是[2]:
- 容错能力
- 耐攻击性
- 抗串通性
但是,尽管存在诸如使协议升级背后的注意事项民主化的问题(例如性能和价格)之类的问题,但它们也有自己的缺点。
组合架构似乎是我们的未来。 我将它们命名为“ Polyglot应用程序” ,其中包括集中式,分布式和分散式应用程序。
Polyglot应用程序 体系结构是关于为您的需求选择正确的应用程序体系结构。 您可能需要一个集中式应用程序,在专用服务器上运行应用程序时,可以提供计算效率,但具有内置的单点故障。 您可能需要一个分发应用程序,通过一组计算机集群即可完成计算,与集中式系统相比,您可能会获得更高的效率。 您可能需要一个分散的应用程序,在该应用程序上您可以获得信任和安全,但会失去一些其他好处,例如计算效率。
所有架构都各有利弊。 任何架构都没有灵丹妙药。 这都是关于选择正确的应用程序体系结构。
[1] http://www.sleberknight.com/blog/sleberkn/entry/polyglot_persistence [2] https://medium.com/@VitalikButerin/the-含义-of-decentralization-a0c92b76a274
翻译自: https://www.javacodegeeks.com/2018/03/polyglot-applications.html
应用软件多语言