使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的系统分为三个层次,最下层是基础服务层)

优采云 发布时间: 2022-01-03 16:15

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的系统分为三个层次,最下层是基础服务层)

  系统分为三个层次。底层是基础服务层,提供数据库、缓存、存储、搜索等数据服务等基础技术服务。这些服务支撑了新浪微博的海量数据和高并发访问,是整个系统的技术基础。

  中间层是平台服务和应用服务层。新浪微博的核心服务是微博、关系和用户。这些服务被划分为独立的服务模块,依靠调用和共享基础数据,构成了新浪微博的业务基础。

  顶层是 API 和业务层。各种客户端和第三方应用调用API并将其集成到新浪微博系统中,形成一个生态系统。

  新浪微博系统架构

  这些层次分明的业务模块和基础技术模块是分布式部署的。每个模块部署在一组独立的服务器集群上,通过远程调用进行依赖访问。新浪微博早期也采用了一种分布式集群部署方案,叫做MPSS(MultiPost Single Server,单服务器多端口)。在集群中的多台服务器上,每台服务器都部署了多个服务,每个服务使用不同的服务。港口为外界提供服务。这样,有限数量的服务器就可以部署更多的服务实例,提高服务的负载均衡和可用性。现在常见的网站 应用将物理机虚拟化为多个虚拟机。在虚拟机上部署应用的方法和新浪微博的MPSS方案一样,但是更简单,可以在不同的虚拟机上使用。相同的端口号。

  在新浪微博的早期架构中,微博发布采用的是同步推送模式。用户发布一条微博后,系统会立即将这条微博插入到数据库中所有粉丝的订阅列表中。当用户数量比较大时,会造成大量的数据库写操作,超过数据库负载,系统性能急剧下降,用户响应延迟增加。后来新浪微博改用异步推拉组合模式。用户发布微博后,系统将微博写入消息队列并立即返回。用户反应很快。消息队列消费者任务将微博推送到当前所有在线粉丝的订阅列表。非在线用户登录后根据关注列表拉取微博订阅列表。

  由于微博频繁刷新,新浪微博采用了多级缓存策略。热门微博和名人用户缓存在所有微博服务器上,在线用户的微博和最近的微博缓存在分布式缓存集群中。微博操作中最常见的“刷微博”操作几乎都是缓存访问操作,可以获得良好的系统性能。

  为了提高系统的整体可用性和性能,新浪微博激活了多个数据中心。这些数据中心不仅是区域用户访问中心,用户可以就近访问数据中心,加快访问速度,提升系统性能;它们也是数据冗余复制的灾难恢复中心。所有用户和微博数据通过远程消息系统是不同的。在数据中心之间进行同步以提高系统可用性。​​

  同时,新浪微博还开发了一系列自动化工具,包括自动化监控、自动化发布、自动化故障修复等,这些自动化工具还在不断的开发中,以提升运维水平,增加系统可用性。​​

  由于微博的开放性,新浪微博也遇到了一系列的安全挑战。垃圾邮件、僵尸粉和微博攻击从未停止。新浪微博除了使用通用的网站通用安全策略外,在开放平台上使用多级安全审计策略来保护系统和用户。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线