fluxcapacitor 安装

1.安装Eureka

下载源码git clone https://github.com/Netflix/eureka.git

修改eureka\gradle\wrapper\gradle-wrapper.properties


编译打包 ./gradlewclean 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 classFluxMysqlDbStore implements AppStore, Closeable {

    @Override

    public List<String> getLogs(Stringkey) 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 = newArrayList<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 classMySqlClient {

    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 {

            returnDriverManager.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、付费专栏及课程。

余额充值