Home  >  Article  >  Backend Development  >  关于webservice的问题效率问题

关于webservice的问题效率问题

WBOY
WBOYOriginal
2016-06-06 20:15:041178browse

由于项目中很多接口需要维护,而业务方在调用接口的时候需要需要判断缓存情况,没有的话在直接从DB取数据,这样子带来了很多问题,业务方需要同时关注缓存和DB,现在有个方案就是采用服务化架构,把所有的接口都分装在服务里面,那么业务方只需要调用接口就好,不用管其他的,那么我的问题是:之前我通过取缓存或者DB 直接取出数据的,现在要走server(比如webservice) 走的是HTTP,那么岂不是更慢了?求解,谢谢。

回复内容:

由于项目中很多接口需要维护,而业务方在调用接口的时候需要需要判断缓存情况,没有的话在直接从DB取数据,这样子带来了很多问题,业务方需要同时关注缓存和DB,现在有个方案就是采用服务化架构,把所有的接口都分装在服务里面,那么业务方只需要调用接口就好,不用管其他的,那么我的问题是:之前我通过取缓存或者DB 直接取出数据的,现在要走server(比如webservice) 走的是HTTP,那么岂不是更慢了?求解,谢谢。

是会慢了,但是整个项目的结构就清晰了,以后开发速度和分工就更容易了,这也就是牺牲速度的原因。项目总是逐步增大的,随着项目的增大,就要逐渐考虑对其进行拆分,拆分的目的我想也不用多说,而拆分的方式大多就是把每个子块进行服务化,对外只暴露少部分必要的接口。

而至于刚才说到的变慢的问题,还有很多方式进行优化可以弥补这部分的慢,比如采用更高速的网络通道等。

通过对服务的分层,可以将项目变得更加条理清晰,开发的过程能够更加模块化,有助于敏捷开发。代码的重用率会更加提高。
当需要跨语言或者跨服务器的时候可以使用thrift等RPC框架进行传输,当需要使用其他语言的第三方内容的时候这样子架构的优势就上来了。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn