使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的系统分为三个层次,最下层是基础服务层)
优采云 发布时间: 2021-12-17 04:03使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的系统分为三个层次,最下层是基础服务层)
该系统分为三个层次。底层是基础服务层,提供数据库、缓存、存储、搜索等数据服务等基础技术服务。这些服务支持新浪微博的海量数据和高并发访问。系统的技术基础。
中间层是平台服务和应用服务层。新浪微博的核心服务是微博、关系和用户。这些服务被划分为独立的服务模块,依靠调用和共享基础数据,构成了新浪微博的业务基础。
顶层是 API 和业务层。各种客户端和第三方应用调用API并将其集成到新浪微博系统中,形成一个生态系统。
新浪微博的系统架构
这些业务模块和基础技术模块经过分层划分后分布式部署。每个模块部署在一组独立的服务器集群上,通过远程调用进行依赖访问。新浪微博早期也采用了一种分布式集群部署方案,叫做MPSS(MultiPost Single Server,单服务器多端口)。在集群中的多台服务器上,每台服务器都部署了多个服务,每个服务使用不同的服务。港口为外界提供服务。这样,有限数量的服务器就可以部署更多的服务实例,提高服务的负载均衡和可用性。现在常见的网站 应用将物理机虚拟化为多个虚拟机。在虚拟机上部署应用的方法和新浪微博的MPSS方案一样,但是更简单,可以在不同的虚拟机上使用。相同的端口号。
在新浪微博的早期架构中,微博发布采用的是同步推送模式。用户发布微博后,系统会立即将该微博插入到数据库中所有粉丝的订阅列表中。当用户数量比较大的时候,就会造成大量的用户。数据库写操作超过数据库负载,系统性能急剧下降,用户响应延迟增加。后来新浪微博切换到异步推拉组合模式。用户发布微博后,系统将微博写入消息队列并立即返回。用户反应很快。消息队列消费者任务将微博推送到当前所有在线粉丝的订阅列表。非在线用户登录后,根据关注列表拉取微博订阅列表。
由于微博频繁刷新,新浪微博采用了多级缓存策略。热门微博和名人用户缓存在所有微博服务器上,在线用户的微博和近期微博缓存在分布式缓存集群中。对于微博,操作中几乎所有最常见的“微博”操作都是缓存访问操作,可以达到很好的系统性能。
为了提高系统的整体可用性和性能,新浪微博激活了多个数据中心。这些数据中心不仅是区域用户访问中心,用户可以就近访问数据中心,加快访问速度,提升系统性能;同时,它们也是数据冗余复制的灾备中心。所有用户和微博数据通过远程消息系统位于不同的位置。在数据中心之间进行同步以提高系统可用性。
同时,新浪微博还开发了一系列自动化工具,包括自动化监控、自动化发布、自动化故障修复等,这些自动化工具还在不断开发中,以提高运维水平,提高系统可用性。
由于微博的开放性,新浪微博也遇到了一系列的安全挑战。垃圾邮件、僵尸粉和微博攻击从未停止。除了使用一般的网站通用安全策略,新浪微博是一个开放的平台。关于使用多级安全审计策略来保护系统和用户。