Giter Club home page Giter Club logo

spring-cloud-ping-pong-sample's Introduction

Up and running with Sample Spring-Cloud based app

There are two ways to run the entire application:

  • On Local Machine
  • Using Docker

On Local Machine

Running it all local is simple, do the following in sequence, in four different terminal windows:

Start up Eureka

cd sample-eureka
../mvnw spring-boot:run

Start up Config server

cd sample-config
../mvnw spring-boot:run

Start up Pong Service

cd sample-pong
../mvnw spring-boot:run

and test with:

curl -v -X POST \
  -H "Content-type: application/json" \
  -H "Accept: application/json" \
   http://localhost:8082/message \
   -d '{
   "id": "test", 
   "payload": "hello"
}'

Start up Gateway

cd sample-gateway
../mvnw spring-boot:run

and test with:

curl -v -X POST \
  -H "Content-type: application/json" \
  -H "Accept: application/json" \
   http://localhost:8082/message \
   -d '{
   "id": "test", 
   "payload": "hello"
}'

Start up Ping Service

cd sample-ping
../mvnw spring-boot:run

If all the applications have come up cleanly, the endpoint should be available at http://localhost:8080

On Docker

Running using Docker is even simpler, assuming that docker-compose and docker are installed on your box, just run the following:

Build the docker images for the microservices

mvn clean package docker:build

Start up Docker containers

docker-compose up

That is it, the endpoint should be available at http://dockerhost:8080

spring-cloud-ping-pong-sample's People

Contributors

bijukunjummen avatar pjkcochin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spring-cloud-ping-pong-sample's Issues

sample ping startup errors

I cannot run sample-ping app.
At first I am getting this (with original Brixton.M3 dependency):

Unable to un-register Monitor:MonitorConfig{name=bootstrap, tags=class=AsyncResolver, policy=DefaultPublishingPolicy}

javax.management.InstanceNotFoundException: com.netflix.servo:name=eurekaClient.resolver.lastLoadTimestamp,class=AsyncResolver,id=bootstrap,level=INFO,type=GAUGE

Then, after I upgrade to Brixton.RC1:

Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.web.client.RestTemplate org.bk.consumer.ribbon.RibbonEurekaPongClient.restTemplate; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.web.client.RestTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true), @org.springframework.cloud.client.loadbalancer.LoadBalanced()}

Any idea?
Thanks

Code is broken on several counts

Hi,
I came across your blog and subsequently, the code, looking for examples of Spring cloud Netflix. Unlike you, I'm using Gradle and traditional war deployment (not repackaged jar by boot). Still out of curiosity, I cloned this repo and tried to bring up the apps. In doing so, I found several issues:

  1. docker-compose.yml doesn't have a name attribute. At least, not the version I've installed, v1.5.1. Perhaps you're using an older one. The attribute you may be looking for is container_name even though using a fixed name means you can't scale it beyond a single instance.
  2. The tests fail out of the box looking for Eureka.
  3. link in docker-compose.yml is discouraged and will not be supported in near future. You may want to use --x-networking option.
  4. Fixing issue 1 and running docker-compose up fails due to port conflict. I've not looked into it but it seems you're instanting Eureka from both ping and pong on the same port. I'm not sure why do you need eureka.instance. nonSecurePort property in your bootstrap.yml. I'm still cutting my teeth on Spring Cloud so please educate me if I'm missing something.
ERROR: Cannot start container xxx: failed to create endpoint springcloudpingpongsample_sampleping_1 on network springcloudpingpongsample: Bind for 0.0.0.0:8080 failed: port is already allocated

I've my own problems with Gradle and traditional war deployment because no one else seems to have done it, at least not that I could find yet. Everyone is running the embedded Tomcat with boot. That's fine for examples but when you need common Tomcat configurations like I do (admin user, port etc), that's not a feasible solution. I've an SO question out, if you're interested, take a look.

Regards,
Abhijit

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.