首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >核上的Verticles多个实例

核上的Verticles多个实例
EN

Stack Overflow用户
提问于 2019-09-19 19:17:29
回答 1查看 404关注 0票数 1

我是Vertx的新手,我怀疑不幸的是,堆栈溢出问题还没有解决。我有2核的ubuntu服务器,我想使用这段代码。

代码语言:javascript
运行
复制
  @Override
  public void start() throws Exception {
    vertx.deployVerticle(StringName, new DeploymentOptions().setInstances(2));
  }

上面的垂直线是我个人网站的http服务器。文档

这对于跨多个核很容易地扩展是有用的。例如,您可能有一个要部署的web服务器垂直线和您的计算机上的多个核心,因此您希望部署多个实例来使用所有的核心。

好吧,我有两个核心在我的英特尔处理器,所以我setInstances(2)进行缩放。

假设我明天醒来,我想添加一个垂直线来管理数据库和其他逻辑。我还有两个核心。哪个是正确的代码?

v1

代码语言:javascript
运行
复制
  @Override
  public void start() throws Exception {
    //2 instances of http server verticle
    vertx.deployVerticle(StringName, new DeploymentOptions().setInstances(2));
    //2 instances of database verticle
    vertx.deployVerticle(StringName, new DeploymentOptions().setInstances(2));
  }

v2

代码语言:javascript
运行
复制
  @Override
  public void start() throws Exception {
    //1 instance of http server verticle
    vertx.deployVerticle(StringName, new DeploymentOptions().setInstances(1));
    //1 instance of database verticle
    vertx.deployVerticle(StringName, new DeploymentOptions().setInstances(1));
  }

换句话说,我是在问这个问题。知道我有两个核心;实例的总和必须是2(所以1 http和1数据库)吗?还是每个实例的最大值必须是2?

这实际上不是必须的,但我想要做最好的实践。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-20 08:30:55

你的问题没有绝对的答案,这完全取决于你的每个垂直线做什么。您必须对不同的设置进行基准测试,以确定什么对您的特定用例有好处。

在这个过程中您可能会考虑的事情:如果您有一个“数据库”垂直线,很可能您会做一些小的处理(例如,重新格式化数据),而http服务器垂直线将只在事件总线上转发数据。在这种情况下,拥有更多的数据库垂直实例可能会更好地工作。但是,在做出决定之前,要对不同的设置进行基准测试。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58017683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档