Мой вопрос на самом деле не вопрос, это скорее призыв к мнению - и, возможно, это даже не то место, где можно его опубликовать.Тем не менее, сообщество здесь очень информировано, и нет никаких попыток попробовать ...
Я думал о способах создания высокомасштабируемой и, прежде всего, высокомодульной серверной архитектуры.Например, целая внутренняя экосистема для большого сайта, которая потенциально может превратиться в перспективный план развития в массивный сайт.
Это повлечет за собой очень высокую степень разделения интересов в той степени, в которой это нетолько (скажем) можно заменить нижележащую БД (т. е. из Oracle в MySQL), но можно заменить действительную базу данных типа (от SQL до KV или наоборот).
IПредставьте себе ситуацию, когда каждая подсистема предоставляет свой собственный API в рамках внутренней экосистемы.Таким образом, API может оставаться постоянным, в то время как реализация может изменяться (даже радикально) с течением времени.
Система должна быть разнородной, поскольку она не привязана к конкретному языку.Он должен быть в состоянии разместить модули или целые подсистемы, использующие разные языки.
Затем мне пришло в голову, что я представлял себе просто архитектуру самой сети.
Так вотМое обсуждение: помимо использования (главным образом) текстовых протоколов есть какая-то главная причина, почему сложная внутренняя архитектура не должна быть реализована так, как я описываю, или есть какое-то веское обоснование, которое я упускаю дляиспользуя протоколы связи, такие как Twisted, AMQP, Thrift и т. д.?
ОБНОВЛЕНИЕ: Следуя комментарию @meagar, я, возможно, должен переформулировать вопрос: есть ли явные преимущества использования очень простого, гибкого и понятногоархитектуры (т. е. всех функциональных возможностей, представленных в виде серии API RESTful), достаточных для компенсации очевидного снижения производительности, возникающего при использовании этой архитектуры в серверном контексте?