分布式任务抢占及系统监控服务。
适用于中小微企业,将系统任务独立部署,统一管理。区别与传统的嵌入在系统中的任务, 可以很好的解耦任务服务。
具有以下优势:
一、普通java项目
普通的java开发只需要在java项目中添加jar包的依赖,具体代码启动示例如下:
public static void main(String[] args) {
int nettyPort = 8084;
// 初始化agent监听程序
ScriptHandler scriptHandler = new ScriptHandler();
RadishAgent radishAgent = new RadishAgent(Collections.singletonList(scriptHandler));
radishAgent.setShPath("/tmp/log/radish");
radishAgent.setLogPath("/tmp/log/radish");
radishAgent.setScheduingServer("http://127.0.0.1:8888/radish-scheduing");
AgentInfo agentInfo = new AgentInfo();
agentInfo.setAgentName("java-test");
agentInfo.setAgentIp("127.0.0.1");
agentInfo.setAgentPort(8083);
agentInfo.setNetwork("netty");
agentInfo.setNettyPort(nettyPort);
radishAgent.setAgentInfo(agentInfo);
radishAgent.start();
// 由于是java启动,没有web容器,因此需要启动netty监听程序,用于server读取agent日志
HandlerLogNettyServer.getInstance(nettyPort).start();
}
注:输出日志需要添加logback.xml配置文件,jar包最好引用radish-core-1.0.1-jar-with-dependencies.jar,这是把radish-core本身依赖的jar已经整体打包,不需要额外添加。
二、基于spring boot应用开发
这是比较推荐的一种开发方式,可以分为以下4个步骤:
将radish-core-1.0.1.jar和radish-spring-boot-starter-1.0.1.jar这2个jar包导入maven本地仓库中,mvn install:install-file -Dfile=本地jar包文件路径 -DpomFile=本地pom文>件路径。
新建spring boot项目,添加如下maven依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.sam.shen</groupId>
<artifactId>radish-spring-boot-starter</artifactId>
<version>1.0.1</version>
</dependency>
</dependencies>
application.yml配置文件示例如下:
server:
port: 8083
servlet:
context-path: /${spring.application.name}
spring:
application:
name: radish-agent
radish:
agent:
# agent服务器的ip地址
ip: 127.0.0.1
# 此端口同server.port
port: 8083
# agent服务器名称,自行定义
name: test
# 存放日志的路径
logpath: /tmp/log/radish
# 存放脚本的路径
shpath: /tmp/log/radish
scheduler:
# 连接任务调度中心的地址
server: http://192.168.140.146:8888/radish-scheduing
# 设置agent日志访问的模式,目前仅支持servlet和netty两种
log-view-mode: servlet
# 当log-view-mode为netty时需要设置如下参数,推荐使用servlet
log-view-netty:
port: 8084
下面可以开发自定义的handler,需要注意的是自定义handler要继承AbsHandler抽象类,并且需要加上@Component注解。
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )