2.0.0 • Published 9 years ago

service-geoip v2.0.0

Weekly downloads
3
License
GPL-2.0
Repository
github
Last release
9 years ago

node-service-geoip

a RabbitMQ microservice wrapping the node-geoip package (geoip-lite on npm).

Codeship Codacy Badge Codacy Badge

project status

Done

  • Used in production
  • Dockerized
  • Deployable via Tutum
  • Uses BunnyMQ

service install

npm install service-geoip
npm updatedb used to build the geo DB. This is not needed when module is used as a client.

docker build

docker build .

configuration

configuration can be done using env vars

#default
AMQP_URL=amqp://localhost

#default
AMQP_QUEUE=geo:ip

usage

start the service

setup env vars and start the container or run npm start

npm start

consume the service

npm i bunnymq --save

Then in your code:

var bunny = require('bunnymq')(/*config here or use bunnymq's env vars*/).producer;
bunny.produce('geo:ip', '95.130.11.91', { rpc: true })
.then(function(loc){
  //use loc object here
});

consuming from a compatible amqp broker

just send the IP as the message content on the queue you have defined (see #configuration) with contentType set to application/json

Tutum

Here is a sample stackfile to deploy your microservice (create your tutum repository from the github repo first)

rabbitmq-master:
  image: 'tutum/rabbitmq:latest'
  environment:
    - RABBITMQ_PASS=PASSWORD
service-geoip:
  image: 'tutum.co/TUTUM_USER/service-geoip:latest'
  environment:
    - 'AMQP_URL=amqp://admin:PASSWORD@rabbitmq-master'
  links:
    - rabbitmq-master
  ports:
    - '9001:8080'
2.0.0

9 years ago

1.3.7

10 years ago

1.3.6

10 years ago

1.3.5

10 years ago

1.3.4

10 years ago

1.3.3

10 years ago

1.3.2

10 years ago

1.3.1

10 years ago

1.3.0

10 years ago

1.2.3

10 years ago

1.2.2

10 years ago