我试图更好地理解服务器语言/框架及其在微服务环境中使用的潜在优点和缺点。开发时间对我来说并不重要,因为这是为了我自己的个人项目,学习使用正确的工具解决问题对于我来说比开发构建服务所需的时间更重要。在选择服务器语言时,我必须考虑除开发时间之外的其他因素吗?
我越想越想,应该在90%的时间里使用药剂。究其原因有二:
1)并发意味着许多用户可以点击该服务没有失败
2)大多数微服务有0的处理开销,他们打了一个数据库,并返回一个JSON。即使用更快的语言触击数据库所带来的收益与使用更慢的语言无法区分。有问题的数据库将确定返回数据的速度,而不是服务器语言,因为数据库实现本身将使用C++等低级语言编写。 (这是真的吗?Elixir + Postgresql比Go + Postgresql慢得多,甚至是Ruby + Postgresql?是Postgresql还是语言发出请求的瓶颈?)
假设上述2为真,那么它代表我之所以会在90%的时间内使用Elixir,是因为我会得到一个面向未来的交通高峰期服务,并且它通常具有与任何其他数据库检索Rest API相同的执行速度。
其他服务需要像图像识别服务一样的处理器速度的10%时间我会用C++或Python实现,因为它的图像库已经在C++中用于图像识别(即Tensor Flow)。
这是一种考虑何时使用特定语言进行微服务的正确方法?如果不是,除了开发时间,我还应该考虑什么?
@enzian这个问题对于程序员来说是不合适的 - 它会很快被拒绝并在那里关闭,参见http://meta.programmers.stackexchange.com/questions/6483/why-was-my-question-关闭或投票表决/ 6490#6490推荐阅读:** [Programmers.SE是怎么回事?堆栈溢出指南](http://meta.programmers.stackexchange.com/q/7182/31260)** – gnat