我正在写一个应用程序,我想实现断路器模式.这是我写的Hystrix Command类:
public class HystrixCommandNextGen extends HystrixCommand<ScriptContext> {
private ScriptContext scriptctx;
private ScriptFactory scriptFactory;
private ScriptContext responseContext = null;
private Logger logger = LoggerFactory.getLogger(HystrixCommandNextGen.class);
public HystrixCommandNextGen(ScriptContext scriptctx, ScriptFactory scriptFactory) {
super(
Setter.withGroupKey(HystrixCommandGroupKey.Factory.asKey("Thread_Pool"))
.andCommandKey(HystrixCommandKey.Factory.asKey(scriptctx.getExecutionData(ExecutionParam.SCRIPTNAME)))
);
this.scriptctx = scriptctx;
this.scriptFactory = scriptFactory;
HystrixCommandProperties.Setter().withCircuitBreakerEnabled(true);
HystrixCommandProperties.Setter().withCircuitBreakerRequestVolumeThreshold(150);
}
@Override
protected ScriptContext run() throws Exception {
scriptFactory.execute(scriptctx);
return scriptctx;
}
@Override
protected ScriptContext getFallback() {
logger.error("FI is not responding: Error occurred in the execution of " + getClass().getSimpleName());
return scriptctx;
}
}
Run Code Online (Sandbox Code Playgroud)
我无法理解如何配置线程数,断路器的阈值时间和要处理的请求数.
我试图将oauth与rares-branch Ruby gem一起使用.我一直收到错误:
OAuth的实例:: Consumer需要有方法`marshal_load'
我的代码,activate.rb如下.有关如何解决此问题的任何想法?谢谢!-Henry
require 'oauth/consumer'
def index
@consumer = OAuth::Consumer.new("CONSUMER KEY","CONSUMER SECRET", {
:site => "http://api.netflix.com",
:request_token_url => "https://api-user.netflix.com/oauth/request_token",
:access_token_url => "http://api.netflix.com/oauth/access_token",
:authorize_url => "https://api-user.netflix.com/oauth/login",
:application_name => "AppName"})
@request_token = @consumer.get_request_token
session[:request_token]=@request_token
session[:request_token_secret]=@request_token.secret
@authorize_url = @request_token.authorize_url({
:oauth_consumer_key => "CONSUMER KEY"
:application_name => "AppName",
:oauth_callback => "http://localhost:3000/activate/callback"
})
redirect_to @authorize_url
end
def callback
@request_token=OAuth::RequestToken.new(session[:request_token],
session[:request_token_secret])
@access_token = @request_token.get_access_token
end
Run Code Online (Sandbox Code Playgroud) 在工作中,我们使用Netflix的Feign Client来帮助处理服务之间的请求.然而,我对它显然缺乏流式传输数据的能力感到困惑,特别是考虑到Netflix众所周知的流媒体视频商业模式.我显然在这里遗漏了一些东西.
为了解释,比如Service A要求Feign Client Service B获取数据Service B流并在响应中发送流.此时,execute()Feign Client中的方法被调用:
@Override public Response execute(Request request, Options options) throws IOException {
HttpURLConnection connection = convertAndSend(request, options);
return convertResponse(connection);
}
HttpURLConnection convertAndSend(Request request, Options options) throws IOException {
final HttpURLConnection connection = (HttpURLConnection) new URL(request.url()).openConnection();
/** SNIP **/
if (request.body() != null) {
if (contentLength != null) {
connection.setFixedLengthStreamingMode(contentLength);
} else {
connection.setChunkedStreamingMode(8196);
}
connection.setDoOutput(true);
OutputStream out = connection.getOutputStream();
if (gzipEncodedRequest) {
out = …Run Code Online (Sandbox Code Playgroud) 我有一个在端口8761(localhost:8761/eureka)上运行的Eureka服务器,我有一个Zuul应用程序,我想在eureka注册,但我一直得到同样的错误:
Can't get a response from http://localhost:8761/eurekaapps/ZUULSERVER
Can't contact any eureka nodes - possibly a security group issue?
java.lang.RuntimeException: Bad status: 404
at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1155)
at com.netflix.discovery.DiscoveryClient.makeRemoteCall(DiscoveryClient.java:1060)
at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:606)
at com.netflix.discovery.DiscoveryClient$HeartbeatThread.run(DiscoveryClient.java:1596)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)
这是zuul应用程序的application.yml:
info:
component: Zuul Server
eureka:
server:
enabled: true
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka
registerWithEureka: true
fetchRegistry: false
endpoints:
restart:
enabled: true
shutdown:
enabled: true
health:
sensitive: false
zuul:
route:
discovery:
url: http://localhost:9000/polaris/discovery
path: /polaris/discovery/**
sla:
url: http://localhost:9000/polaris/sla
path: /polaris/sla/**
stores: …Run Code Online (Sandbox Code Playgroud) 在Netflix网站上观看netflix视频时,我的目标是让用户脚本以编程方式调用播放控件.具体地说,视频的音量,电平,播放/暂停状态和时间位置.
我已经能够操纵html5视频元素本身,但直接控制它不会向用户提供所需的netflix控制栏反馈.(即视频暂停,但控制栏仍显示为播放).
到目前为止,我的方法是尝试找到代表使用普通控件时单击的"按钮"的元素,并通过用户脚本触发它们的点击事件.但我似乎无法隔离适当的元素.另外netflix使用的是javascript压缩器/混淆器,这增加了找到代表控制栏上按钮的正确元素的难度.
在这样的网站上,如何识别接收元素点击事件的元素,然后创建用户脚本以通过tampermonkey和/或greasemonkey调用它?
在下面的示例代码中,我在视图上添加了一个按钮以进行测试.
// ==UserScript==
// @name Jump a minute ahead in netflix
// @version 0.1
// @description A Test by trying to jump a minute or so ahead into a netflix movie
// @match *://www.netflix.com/*
// @grant GM_addStyle
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==
var zNode = document.createElement ('div');
zNode.innerHTML = '<button id="myButton" type="button">Try It</button>';
zNode.setAttribute ('id', 'myContainer');
document.body.appendChild (zNode);
//--- Activate the newly added button.
document.getElementById ("myButton").addEventListener (
"click", ButtonClickAction, false
);
function ButtonClickAction (zEvent) {
/*--- …Run Code Online (Sandbox Code Playgroud) 我正在开展一个项目,我正在创建一个视频流媒体网络服务.到目前为止我创建的是一种将视频内容同步写入用户流的服务.但是,我的网络服务与Youtube/Netflix的工作方式不同.
我只是想知道Youtube/Netflix如何流视频.这些网站不直接向用户的浏览器发送视频内容.我正在研究开发人员选项中的网络选项卡,并发现这两个网站都对Web API发出了新请求,并更改了范围标头.任何人都可以告诉我这是如何工作的.
我正在使用 spring boot 和 netflix OSS 在微服务中创建一个简单的项目来弄脏我的手。我创建了两个服务
现在,当我启动这些服务时,由于相互依赖,这两个服务都失败了。解决此问题的最佳实践是什么以及首先开始哪个实践。
PS:-我知道我正在创建循环依赖,但是处理这种情况的方法是什么,我想将 eureka 配置也保留在配置服务器上
谢谢
intellij-idea netflix spring-boot microservices netflix-eureka
根据 Eureka wiki ( https://github.com/Netflix/eureka/wiki ),Eureka 2.0 已停产。
eureka 2.0 的开源工作已经停止。作为 2.x 分支上现有工作存储库的一部分发布的代码库和工件被视为使用风险自负。
问题
与 Eureka 1.0(Spring Cloud 2.0 仍在使用的)相比,Eureka 2.0 有哪些新功能?
Netflix 内部是否仍然使用任何服务发现平台?如果是,那是什么?
编辑
找到了第一个问题的一些答案。阅读这些:
netflix service-discovery spring-cloud netflix-eureka spring-cloud-netflix
Netflix 不在其用户界面中提供对播放速率的控制。
我应该在 google chrome 控制台中放什么来设置我想要的播放速率?
javascript netflix html5-video google-chrome-devtools google-chrome-console
我正在创建同步网络扩展,我想修改视频的当前时间。所以我检测到了<video>并且我这样做是为了更改时间代码:
video.currentTime=5;
但 netflix 自动在屏幕上显示错误: https://prnt.sc/sm0ro9和 https://prnt.sc/sm0sev
我遇到了同样的错误this.video.currentTime=5;
我知道 video.currenttime 正在工作,因为在屏幕 1 中我们可以看到 Netflix 向我发送了准确的时间码。
有人知道如何编辑时间码吗?
netflix ×10
javascript ×3
html5-video ×2
java ×2
spring-cloud ×2
api ×1
greasemonkey ×1
html ×1
hystrix ×1
jquery ×1
netflix-zuul ×1
rtmp ×1
ruby ×1
spring-boot ×1
streaming ×1
tampermonkey ×1
video ×1
youtube ×1