草庐IT

高可用架构

全部标签

java - 流处理架构

我正在设计一个系统,其中有一个主要的对象流,并且有多个工作人员从该对象产生一些结果。最后,有一些特殊/独特的工作人员(就图论而言,有点像“接收器”)获取所有结果,并将它们处理为写入某个数据库的最终对象。一个worker可能依赖于其他一些worker的结果(因此,等待他们的结果)现在,我面临着几个问题:可能是一名worker比另一名worker慢得多。你怎么处理那件事呢?添加更多较慢类型的worker(=缩放)?(也许是动态的)假设W_B依赖于W_A。如果W_B由于某种原因关闭,那么流程将停止,系统将停止工作。所以我希望系统以某种方式绕过这个工作人员。此外,最终工作人员如何决定何时对结果

java - 这个模拟器的最佳架构是什么?

我必须用Java制作一个模拟器,它将模拟在高速公路上行驶的汽车。高速公路应该有3条车道,每条车道上都有匀速行驶的汽车。在这条高速公路上,有一个特工必须开车通过并且不能撞到任何其他汽车。详细说明参见thispaper在第2.5节和图片5。这张图片来自提到的论文,展示了高速公路的样子:我的目标是只写一个模拟器(和GUI),而不是代理的逻辑。现在,我想设计这个模拟器的架构,这正是我需要帮助的地方。我的想法,代理的API看起来是这样的:publicabstractclassBaseAgent{publicabstractvoidrun()publicabstractvoidonCrash();

java - 64 位 Windows 上的 32 位 JVM 在使用 -Xmx1300m 和大量可用内存启动时崩溃

我正在为Java堆空间设置而苦恼。Windows上的默认Java是32位客户端,与操作系统版本无关(这是Oracle向所有用户推荐的)。它似乎默认将最大堆大小设置为256MB,这对我来说太小了。我使用自定义启动器来启动应用程序。我希望它在内存充足的计算机上使用更多内存,而在内存较少的计算机上默认使用-Xmx512m。据我所知,唯一的方法是静态-Xmx设置(必须在启动时设置)。我有一个拥有8GBRAM、64位Windows和32位Java7的用户。JVM可见的最大内存为4G(通过查询OperatingSystemMXBean返回)。我明白为什么,没问题。出于某种原因,我的应用程序无法为这

java - 记录可用/必需的 Java 属性文件内容的最佳实践

是否有完善的方法来记录Java“属性”文件内容,包括:指定给定键所需的数据类型/内容指定应用程序运行是否需要key提供key含义的描述目前,我(手动)维护一个默认的.properties文件,并且我在之前的评论中写了一个散文描述数据类型和每个键的描述。这不会导致以编程方式访问属性文件。我想我正在寻找的是属性文件的“getopt”等价物...[编辑:相关]JavaConfigurationFrameworks 最佳答案 您可以使用ApacheCommonsConfiguration中的一些功能包裹。它至少提供对您的属性的类型访问。传统

java - JPanels 不会完全拉伸(stretch)以占据可用空间

我有一个面板,我在其中并排放置了几个尺寸和颜色不同的迷你面板,它们应该占据整个父面板(​​水平)。为此,我使用BorderLayout(用于父面板),并使用BoxLayout用于放置所有迷你面板的子面板(参见下面的代码)。它确实可以正常工作并且在调整大小和一切时都能正常运行。然而,随着迷你面板数量的增加,一个奇怪的行为发生了:父面板的末尾出现了空白。我想我发现这是布局管理器中的一个拉伸(stretch)错误,因为为了拉伸(stretch)面板,布局管理器会尝试向每个迷你面板添加一个像素。但是,当mini-panel的数量很大时,为每个mini-panel添加一个像素将导致添加许多像素并

java - 微服务架构中的 HTTP 与 Thrift

我刚刚开始学习微服务,我有一个我自己无法回答的问题。(而且我也是基于Java的开发人员)我有这样的情况:我有一个调用Thrift服务(名为T1)以获取数据的服务A(一个API服务)。然后我有一个服务B,它可以使用来自A的数据响应,解析这些数据,然后生成一些新数据,最后返回给客户端。问题是:我应该使用哪个?B从A调用API并使用带连接池的HttpClient/AsyncHttpClient解析(例如JSON数据)或B直接调用T1并重复A的操作?恕我直言,我认为Thrift(也有连接池)比HTTP调用更快?我说得对吗?我看到很多内部使用HTTP的服务,如Elasticsearch、Neo4

java - 检查域可用性 Java

Java中是否有一种相对简单的方法来检查域是否可用?我需要一个可靠的方法,因此仅检查是否可以建立连接是不够的。 最佳答案 域可用性取决于是否有一个whois客户端。这是一个用Java实现的whois客户端的链接:JavaWhoisClient您需要解析结果-根据您使用的whois服务器,您可能(将)返回不同的格式。最好的办法是支付OpenSRS等商业whois/注册服务的费用。他们有一个广泛的API,您可以作为注册经销商使用。以下是API文档:http://opensrs.com/resources/documentation/op

java - 在 WSDL 文件中找不到 Xsd 架构位置

这个问题3天了还没有解决,如果有人能帮忙,真的很感激,下面是所有的代码。问题是:如果我将wsdl文件(位于我的eclipse项目目录中)从硬盘显示到soapUI,则此Web服务运行良好。但是如果我将url指定为:http://localhost:8080/mwp/mws/mwsid.wsdl这正确地公开了wsdl但找不到模式,我从soapUI得到错误:错误:无法加载url[http://localhost:8080/mwp/mws/Request.xsd]这是spring的配置文件这是wsdl文件:-->-->-->-->这就是我在web.xml中定义的方式:mwsorg.spring

java - 从 GitHub 项目导出可用的 .jar 文件

我是java和eclipse的新手,我想从这个github项目中获取jar文件:https://github.com/nikkiii/omegle-api-java我试过在eclipse中这样做,但我无法将项目作为java项目导入,并且(我认为)由于这个原因我无法使用导出功能来获取项目的jar文件。最简单/最好的方法是什么?谢谢 最佳答案 这是最简单的方法,假设您从github下载了包含.java源文件的zip文件:将zip文件解压缩到Eclipse工作区中的一个文件夹中,例如omegle-api-java-master。在Ecli

java - Weblogic:调用没有架构名称的 DB2 存储过程(属性 currentSchema)

我有一个在Weblogic上运行的Java应用程序。应用程序需要访问DB2数据库中的存储过程,因此通过JNDI名称配置和访问JDBC数据源。数据来源:ClassDriver:com.ibm.db2.jcc.DB2DriverProperties:user=MYUSERDatabaseName=MYDB以下示例按预期工作。Contextenv=null;DataSourcepool=null;Hashtableht=newHashtable();ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFa