数据服务化架构问题

WBOY
풀어 주다: 2016-06-06 20:16:02
원래의
1066명이 탐색했습니다.

目前相对项目的缓存进行优化,然后网上找了资料,有几个问题想问下,
一般情况下我们的缓存都是在业务逻辑上面处理的,如下图:
数据服务化架构问题

上面缓存架构有一个缺点:业务方需要同时关注缓存与DB,
那么我们进一步优化,加入一个服务层:
数据服务化架构问题

这个方案应该是主流方案了,它向上游提供帅气的数据访问接口,向上游屏蔽底层数据存储的细节,这样业务线不需要关注数据是来自于cache还是DB。
那么问题:这个service该怎么实现呢?或者说用什么好的实现方案呢?

回复内容:

目前相对项目的缓存进行优化,然后网上找了资料,有几个问题想问下,
一般情况下我们的缓存都是在业务逻辑上面处理的,如下图:
数据服务化架构问题

上面缓存架构有一个缺点:业务方需要同时关注缓存与DB,
那么我们进一步优化,加入一个服务层:
数据服务化架构问题

这个方案应该是主流方案了,它向上游提供帅气的数据访问接口,向上游屏蔽底层数据存储的细节,这样业务线不需要关注数据是来自于cache还是DB。
那么问题:这个service该怎么实现呢?或者说用什么好的实现方案呢?

rpc,数据序列化与反序列化。

大型系统通常会混合多重编程语言,例如前端可能用的是php,而复杂的后端计算和业务逻辑又用了java,某些特殊的服务可能用了erlang或者c++。
那么rpc采用跨平台语言的,apache thrift,或者zeroc ICE就比较方便了。

service使用易于长期进程存活的,健壮的语言编写。 java比较适合。 application不论是php还是什么其他语言,都可以方便的调用。

当然也可以使用json之类的约定数据结构,在各端进行“序列化”与“反序列化”。
考虑好service层的高可用性方案,后端调用的问题,用个注册/发现,心跳健康检查等保障就可以了。 自行开发或者使用zookeeper之类的都行。

说的比较空泛,因为也不是特别明确题主的具体问题是什么。

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿