Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它与Netflix OSS技术体系整合为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。

Spring Cloud Data Flow Server for Apache Mesos 适用于mesos平台的springcloud数据流服务器(DCOS构建)

cloud-native-stacks

cloud-native-stacks

Spring Cloud Netflix

目前,研发可考虑使用Spring Cloud作为微服务的基础框架。

假如目前产品的输出物是一个jar包,一个包含Jetty和Sprig Boot的软件包,数据库是运行在其它服务器上的实例。

运行:java -jar huihoo-1.0.0.jar

将huihoo-1.0.0.jar部署DC/OS,进行Jetty web server层的集群。

参考:

Spring Boot with Docker

1、下载Spring Boot 镜像

$ docker pull java:openjdk-8

2、创建 huihoo-app

mkdir huihoo-docker

touch Dockerfile

FROM java:openjdk-8

VOLUME /tmp

ADD huihoo-1.0.0.jar app.jar

RUN sh -c 'touch /app.jar'

ENV JAVA_OPTS=""

ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

3、构建 huihoo-app 镜像

docker build -t huihoo/spring-boot-docker .

4、上传仓库

docker login

docker push huihoo/spring-boot-docker

本地运行

docker run -p 8080:8080 -t huihoo/spring-boot-docker

http://localhost:8080/huihoo/v1/push/wechat/templateCustomer

5、通过Marathon JSON部署3个实例的huihoo-app,并通过Marathon-LB进行负载均衡。

jar的打包、上传、多实例部署的过程是OK的,目前主要问题是访问外部的网络资源,涉及域名解析的问题,如:service.huihoo.com

服务发现包

vim /etc/hosts

127.0.0.1 hh1 hh2

docker run -p 8761:8761 -t huihoo/server-discovery –spring.profiles.active=hh1

docker run -p 8762:8762 -t huihoo/server-discovery –spring.profiles.active=hh2

出现的问题:

点击hh2,连接被重置。

com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused (Connection refused)    at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) ~[jersey-apache-client4-1.19.1.jar!/:1.19.1]

WARN 6 — [nfoReplicator-0] c.n.d.s.t.d.RetryableEurekaHttpClient    : Request execution failed with message: java.net.ConnectException: Connection refused (Connection refused)

折腾 Spring Cloud Samples 各种例子。

Spring Cloud Marathon

The Spring Cloud Deployer project defines a Service Provider Interface (SPI) for deploying long lived applications and short lived tasks.

https://github.com/spring-cloud/spring-cloud-deployer-mesos

$ ./mvnw clean install

发表评论

OpenID

电子邮件地址不会被公开。 必填项已用*标注

Anonymous

电子邮件地址不会被公开。 必填项已用*标注