• 理解Spring Cloud Hystrix

    本文出自:【InTheWorld的博客】 (欢迎留言、交流)

    hystrix-logo-tagline-640

    Spring Cloud“全家桶”风头正劲,Hystrix作为服务容错保护组件也是挺有名气。最近我有在看一些Spring Cloud的内容,其中就包括Hystrix。这里我打算从宏观理论和微观实现两个部分来分析Hystrix。

    1. Hystrix的宏观知识

    首先是宏观理论了,先抛出两个问题。Hystrix的设计目的是什么?应该怎么完成这些目标?针对第一个问题,我们首先需要明确的是微服务架构应该是有一定的容错性的,而服务不可用的问题是客观存在的。而且这些服务错误常常会恶化和扩散,结果造成更严重的负面影响。所以在无法绝对保证服务可用性的前提下,我们需要一种机制来保护服务错误。

    Hystrix的作用主要体现在一下几个方面,

    • 保护和控制底层服务的高延迟和失效对上层服务的影响。
    • 避免复杂分布式中服务失效的雪崩效应。在大型的分
    【查看更多】
  • 基于OpenGL ES实现多媒体全景渲染

    本文出自:【InTheWorld的博客】 (欢迎留言、交流)

    panorama

    近几年来,VR型的多媒体变得越来越常见。在YouTube上就有很多360度视频,很多地图产品也提供全景街道图。作为开发者,我们不禁要想如何实现多媒体的全景渲染呢?

    其实,渲染VR的多媒体其实并不难,这里就以360度视频为例介绍一下。我也没有尝试过从头写一个360视频渲染库(目前能力和精力都不太允许),所以这篇博客其实是基于开源库的——https://github.com/ashqal/MD360Player4Android。此外,我不准备详细去介绍这个库怎么使用,而是基于它分析整个渲染流程。

    全景视频一般由鱼眼镜头产生,鱼眼镜头的物理结构大致如下:

    eye_fish

    最左边的就是一个曲面的镜头,光线就是从这里进入相机的。然后,光线经过一系列的光学【查看更多】