fluxcapacitor

1.安装Eureka
下载源码 git clone https://github.com/Netflix/eureka.git
修改eureka\gradle\wrapper\gradle-wrapper.properties

编译打包 ./gradlew clean build
拷贝war包到tomcat eureka\eureka-server\build\lib\seureka-server-1.4.3-SNAPSHOT.war
端口为80端口且为默认项目。
访问url http://localhost/eureka/



2.安装zookeeper
下载zookeeper的安装包之后, 解压到合适目录. 进入zookeeper目录下的conf子目录, 创建zoo.cfg:
1. tickTime=2000
2. dataDir=/root/zookeeper/data
3. dataLogDir=/root/zookeeper/logs
4. clientPort=2181
启动服务bin/zkServer.sh start
验证服务 bin/zkCli.sh -server localhost:2181
3.安装Edge and Middletier Servers
下载源码 git clone https://github.com/cfregly/fluxcapacitor.git
修改gradle\wrapper\gradle-wrapper.properties



修改flux-middletier代码
注释掉FluxCassandraStore类的注解

添加mysql相关操作类


@Component
@AutoBindSingleton(AppStore.class)
public class FluxMysqlDbStore implements AppStore, Closeable {
@Override
public List<String> getLogs(String key) throws Exception {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
connection = MySqlClient.getConnection();
String sql = "select `log` from `logs` where `key` = ?";
statement = connection.prepareStatement(sql);
statement.setString(Integer.valueOf(1), key);
resultSet = statement.executeQuery();
List<String> result = new ArrayList<String>();
while (resultSet.next()) {
String log = resultSet.getString(1);
result.add(log);
}
return result;
} finally {
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
}
}

@Override
public long addLog(String key, String log) throws Exception {
Connection connection = null;
PreparedStatement statement = null;
try {
connection = MySqlClient.getConnection();
String sql = "INSERT INTO `logs`(`key`,`log`)VALUES (?,?)";
statement = connection.prepareStatement(sql);
statement.setString(1, key);
statement.setString(2, log);
long result = statement.executeUpdate();
return result;
} finally {
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
}
}

@Override
public void close() throws IOException {

}
}

public class MySqlClient {
public static final String URL = "jdbc:mysql://xxxx:3306/testlog";
public static final String DRIVER = "com.mysql.jdbc.Driver";
public static final String USER = "root";
public static final String PASSWORD = "root";

static {
try {
Class.forName(DRIVER);
} catch (Exception e) {
e.printStackTrace();
}
}

public static Connection getConnection() {
try {
return DriverManager.getConnection(URL, USER, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}

}
修改middletier.properties 配置文件
com.netflix.karyon.eureka.datacenter.type=MyOwn
eureka.serviceUrl.default=http://xxxx/eureka/v2/
zookeeper.config.ensemble=xxxx:2181
注释掉graphite.server.address

修改flux-edge edge.properties配置文件
com.netflix.karyon.eureka.datacenter.type=MyOwn
eureka.serviceUrl.default=http://xxxx/eureka/v2/
zookeeper.config.ensemble=xxxx:2181
注释掉graphite.server.address

编译打包 ./gradlew clean build

拷贝flux-middletier\build\libs\xxx.war
flux-edge\build\libs\xxx.war 部署到tomcat 默认8080 端口

验证是否成功:
请求http://localhost/eureka/

请求 http://flux-edge-server:8080/service/edge/v1/log/1234?log=blahblah
返回1说明成功。
请求http://flux-middletier-server:8080/service/middletier/v1/logs/1234
返回blahblah说明成功。
4.安装hystrix-dashboard
下载war包http://search.maven.org/#browse%7C-179760851部署到tomcat下。
修改 index.html monitor.html 的jquery.min.js 路径 引用本地的js
如<script src="../js/jquery.min.js" type="text/javascript"></script>

访问主页http://localhost/hystrix-dashboard/

填写edge监控路径http://edge-server:8080/hystrix.stream 监控
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值