有谁知道Hulu或Netflix的系统架构?他们如何保护自己的内容?他们如何在保持内容安全的同时处理数百万并发用户的可扩展性?将理解框图.
我正在开发一个chromecast发送器应用程序,我想让netflix启动并播放所请求的电影.但是,我只能设法启动Netflix应用程序,但它不加载视频,因为我不确定我需要使用请求发送哪些参数.
我一直无法找到Netflix讨论此内容的任何资源.这可能吗?或者netflix是否只会根据自己的应用程序中的请求启动和播放视频?
我在使用改造的RxJava支持来链接observable时遇到了麻烦.我可能误解了如何使用它,否则它可能是改造中的一个错误.希望有人在这里可以帮助我了解正在发生的事情.编辑:我正在使用MockRestAdapter进行这些响应 - 这可能是相关的,因为我看到RxSupport实现略有不同.
这是一个虚假的银行应用程序.它正在尝试进行转移,并且在转移完成后,它应该执行帐户请求以更新帐户值.这基本上只是我试用flatMap的借口.遗憾的是,以下代码无效,订阅者无法收到通知:
案例1:链接两个改造生产的可观测量
转移服务(注意:返回改造生产的可观察物):
@FormUrlEncoded @POST("/user/transactions/")
public Observable<TransferResponse> transfer(@Field("session_id") String sessionId,
@Field("from_account_number") String fromAccountNumber,
@Field("to_account_number") String toAccountNumber,
@Field("amount") String amount);
Run Code Online (Sandbox Code Playgroud)
帐户服务(注意:返回改进生成的observable):
@FormUrlEncoded @POST("/user/accounts")
public Observable<List<Account>> getAccounts(@Field("session_id") String sessionId);
Run Code Online (Sandbox Code Playgroud)
将两个改造后的观测链连在一起:
transfersService.transfer(session.getSessionId(), fromAccountNumber, toAccountNumber, amount)
.flatMap(new Func1<TransferResponse, Observable<? extends List<Account>>>() {
@Override public Observable<? extends List<Account>> call(TransferResponse transferResponse) {
return accountsService.getAccounts(session.getSessionId());
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
Run Code Online (Sandbox Code Playgroud)
案例2:创建我自己的可观察和链接与改造生产的
如果我忽略了"平面映射"调用中Retrofit内置的Rx支持,它可以完美运行!所有订户都会收到通知 见下文:
新帐户服务(注意:不会产生可观察的):
@FormUrlEncoded @POST("/user/accounts")
public List<Account> getAccountsBlocking(@Field("session_id") String sessionId);
Run Code Online (Sandbox Code Playgroud)
创建我自己的observable并自己发出项目:
transfersService.transfer(session.getSessionId(), fromAccountNumber, toAccountNumber, amount)
.flatMap(new Func1<TransferResponse, Observable<? extends List<Account>>>() {
@Override …Run Code Online (Sandbox Code Playgroud) Netflix使用Ribbon,在他们的术语中称为"客户端负载均衡器".与传统的负载均衡器相比,客户端负载均衡器的用例和优势是什么?Ribbon和其他Netflix OSS服务是AWS特定的还是可以在其他环境中使用?
我有一个Spring Cloud应用程序,我正在自定义功能区客户端,如" 自定义功能区客户端"一节中所述,我的IRule如下所示:
public class HeadersRule extends AbstractLoadBalancerRule {
public HeadersRule () {
}
public HeadersRule(ILoadBalancer lb) {
this();
this.setLoadBalancer(lb);
}
public Server choose(ILoadBalancer lb, Object key) {
//I want the key to contain the headers from the request so I can decide choose the server by one of the headers
}
Run Code Online (Sandbox Code Playgroud)
我有一个休息控制器:
@RequestMapping("/")
public String hello(HttpServletRequest request, HttpServletResponse response) {
//here I want to pass the key parameter to ribbon
return result;
}
Run Code Online (Sandbox Code Playgroud)
我想在我的IRule中按其中一个标题的值选择下一个服务器.如何将标题传递给我的自定义IRule关键参数?(通过RestTemplate或Feign,或者如果您有另一个使用Ribbon的选项...)
编辑可能的方向
在AbstractLoadBalancerAwareClient类中
public T …Run Code Online (Sandbox Code Playgroud) 试图以编程方式从Netflix中获取我最后查看的数据,但仅在登录阶段遇到一些问题.我当前的代码只会导致Netflix吐出一个We were unable to process your request.页面:
var request = require('request').defaults({jar: true});
var cheerio = require('cheerio');
var url = "https://www.netflix.com/Login?locale=en-GB&nextpage=https%3A%2F%2Fwww.netflix.com%2FWiViewingActivity";
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
var $ = cheerio.load(body);
var authCode = $("#login-form > input").attr("value");
request.post(url+"?email=myemail%40gmail.com&password=mypassword&RememberMe=on&authURL="+authCode, {
}, function(err, response, body){
console.log(body);
});
}
})
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
令人惊讶的是,Google上几乎没有任何内容Scraping Netflix.
我想在没有 Spring Boot 的情况下进行服务发现。所以我下载了 netflix 项目示例,因为它的 gradle 项目我想使它成为 maven。
所以我创建了 maven 项目,导入了类和配置,并添加了依赖项。
我将它eureka.war放在 Tomcat webapps 文件夹中,然后启动了 eureka 服务器。
但是当我在 eclipse 中运行应用程序时,我收到了一个错误。
错误 c.netflix.discovery.DiscoveryClient - DiscoveryClient_UNKNOWN/DESKTOP-B997GFD - 无法刷新其缓存!status = 没有已知的尤里卡服务器;集群服务器列表为空 com.netflix.discovery.shared.transport.TransportException: 没有已知的尤里卡服务器;集群服务器列表为空
并且无法从尤里卡获取示例服务的实例以与之交谈
有没有办法阻止用户截取屏幕截图或捕获视频文件的屏幕?与 Netflix 的实现方式类似。每当我们尝试单击屏幕时,它都会返回黑屏。我只需要一些正确方向的起点。谢谢!编辑:它与 DRM 更相关。Netflix 已经在实施它,所以肯定有一些解决办法。
我在我的一个Spring启动应用程序中实现了Netflix OSS Hystrix.并为HystrixCommand配置了一些属性.但是,如何验证HystrixCommand是否真正使用了这些属性.例如,
hystrix.threadpool.default.maxQueueSize=12
hystrix.threadpool.default.keepAliveTimeMinute=2
hystrix.command.default.execution.isolation.strategy=SEMAPHORE
Run Code Online (Sandbox Code Playgroud)
如何才能看到这些属性应用于HystrixCommand?有什么办法可以为Hystrix启用调试级别日志记录吗?
TIA
我想eureka-server作为容器运行,并希望稍后让其他微服务注册到此容器。但是我遇到了一些问题,让它作为容器运行并访问它。该应用程序在 STS 中运行没有问题。当我在 STS 中执行它时,我可以访问eureka-serverusing localhost:8761.
application.java:
package hello;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@EnableEurekaServer
@SpringBootApplication
public class EurekaServiceApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServiceApplication.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
application.yml:
server:
port: 8761
eureka:
client:
registerWithEureka: false
fetchRegistry: false
Run Code Online (Sandbox Code Playgroud)
bootstrap.yml:
spring:
application:
name: eureka-service
Run Code Online (Sandbox Code Playgroud)
Dockerfile:
FROM java:8
VOLUME /tmp
ARG JAR_FILE
ADD ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-
jar","/app.jar"]
Run Code Online (Sandbox Code Playgroud)
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<properties>
<docker.image.prefix>microservice</docker.image.prefix>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<groupId>com.example</groupId> …Run Code Online (Sandbox Code Playgroud) netflix ×10
java ×2
android ×1
chromecast ×1
docker ×1
drm ×1
html ×1
hystrix ×1
node.js ×1
retrofit ×1
rx-java ×1
spring ×1
spring-boot ×1
spring-cloud ×1
spring-mvc ×1
square ×1
video-player ×1
web-scraping ×1