Tag: eureka

AWS Elastic Beanstalk使用简单的SpringBoot Eureka映像失败部署Docker

我是AWS和Elastic Beanstalk的新手。 我试图用一个简单的Spring Boot Docker来testing一个多容器的Docker部署https://hub.docker.com/r/springcloud/eureka/只是为了看看现在可以使用的东西。 我正在上传一个非常简单的Dockerrun.aws.json文件到Beanstalk控制台: { "AWSEBDockerrunVersion": 2, "containerDefinitions": [ { "name": "eureka1", "image": "springcloud/eureka", "essential": true, "memory": 128, "portMappings": [ { "hostPort": 80, "containerPort": 8761 } ] } ] } springcloud / eureka Docker镜像默认启动端口8761上的服务器,并将主机端口80映射到容器的端口8761。 所以打开应用程序的url(类似http://sample-env-1.xxx.eu-central-1.elasticbeanstalk.com/ ),它应该显示尤里卡服务器接口…它不。 它只是说“无法连接”标准的浏览器页面。 日志不会显示错误…或者至less我看不到任何明显的错误。

Spring客户端连接被docker和gradle拒绝

我在Docker上用eureka构build了一个spring-server和一个spring-client,我尝试将客户端连接到服务器。 当我尝试在我的build.gradle : docker { maintainer = 'Me' baseImage = 'java:8' } distDocker { exposePort 8080 setEnvironment 'JAVA_OPTS', '-Dspring.profiles.active=docker' } 一切正常。 但是我想使用我写的Dockerfile ,所以我使用buildDocker而不是distDocker ,我这样使用它: task buildDocker(type: Docker, dependsOn: build) { dockerfile = file('src/main/docker/Dockerfile') doFirst { copy { from jar into stageDir } } } 与此Dockerfile : FROM java:8 ADD myjar-1.0.jar app.jar EXPOSE 8080 ENTRYPOINT ["java", […]

如何使用AWS Beanstalk和Spring Cloud Netflixbuild立Docker容器之间的连接

我的应用程序由几个微服务组成。 我想使用NetFlix Eureka作为发现服务器,我想将我的应用程序部署为Docker容器。 我想build立我的服务之间的沟通,但几乎没有问题: Beanstalk始终使用nginx作为容器的反向代理,默认情况下将所有请求路由到端口80.好的,我已经用一些棘手的脚本殴打。 我的EC2 Beanstalk实例上有几个networking接口 – docker0,它是docker和eth0的主机IP。 问题是,我无法dynamic确定容器内的主机IP地址,因此无法将其传递到Eureka发现服务器(也作为Docker映像运行),而无需进行硬编码。 使用代码或configuration我只能公开内部的Docker接口,而不是桥接。 所以,底线 – 我想用Docker,Beanstalk和Eureka构build支持微服务的应用程序。 解决scheme应该是可扩展的,除了Eureka主机IP之外,不应该有任何硬编码的值。 谢谢。

Heroku负载平衡器与Netflix zuul

根据这个答案https://stackoverflow.com/a/41811770/2849613我想获得有关Heroku的微服务的最佳做法的一些信息。 问题是哪种方法更好? 安装每个服务作为独立的应用程序,并使用其中之一作为REST“代理”(例如Netflix Eureka)? 要么 创build基于Docker的方法,例如Netflix Zuul作为负载均衡器? 就我自己而言,我已经看到两种方法的优点和缺点: 优点 :更好的可扩展性(易于创build更大的负载的新机器)。 缺点 :服务之间的通信是“在heroku之外”换句话说:因为heroku应用程序有公共地址,所有人都可以直接连接到服务(不用扔尤里卡),因为每个服务都需要提供一些authentication方法,并在每个服务之间共享其他 – 我认为这是风险。 优点 :易于复制testing和开发的生产环境(docker图像),服务之间的通信是“内部”完成的(图像到图像而不是应用程序到应用程序)。 缺点 :难以扩展(我认为Heroku应用程序和Docker镜像之间的负载平衡有一点点负担)。 哪种方法更好? 也许我可以把它们混合在一起? 或者也许有一些不同的,更好的解决scheme? 老实说,我相信唯一的事情是,我想用rabbitMQ作为消息队列…