-
Notifications
You must be signed in to change notification settings - Fork 3
Milestone 2
Find it here on the Home Page
Find it here on the Home Page
- CI/CD through Jenkins
- Implemented Hashicorp Consul for service registry
- RabbitMQ as a message broker for the API Gateway
- http://149.165.169.93:8080/ : Jenkins URL. Click this and you will go to the Jenkins page where you will be able to see all our builds. We are not giving access as you will see if the build is been created without logging in.
- There are three builds. build-add-parking, build-flask-api, and build-parking-garage.
- Clone the GitHub repository
- Change the branch to develop using the following command
- git checkout develop
- make a dummy commit to this branch. OR you can add your name to the testing file to mention that you are making a dummy commit and push it.
- http://149.165.169.93:8080/ for Build deployment process.
We created multiple nodes, in master-slave fashion. Each service is deployed on a different node which is connected by the consul. Every time a commit is made on the develop branch, the build job is triggered and each service is deployed on their respective node.
- Hosted the website on http://149.165.169.93/ . Please do all the required testing from the UI
Consul is a distributed service mesh to connect different services dynamically. In our system, we have 3 primary services running on a distributed network. Each service has at least 2 instances running so as to balance the load. Following are our services:
- Nodejs service running as
nodejs.service.consul
. - Java service running as
java.service.consul
. - Python service running as
python.service.consul
.
Each service instance is registered with a consul client
which in turn connects to a central server making a complete network. Each service can connect to other services directly by using the consul service lookup rather than using the actual IP. This is useful in case a service dies, the control can be dynamically passed to another instance of the same service.
You can check our service registry UI by visiting our consul services page.
Gets the list of all the locations from the database on the home-page. Also, enables login and signup feature for the owners.
Checks availability when you select a location in the drop-down list and click the search button. This service tells if there are parking garages available or not. It also reserves a parking spot when you click the reserve button.
After you log in as an owner, the node-service gets the list of all parking garages that are added by the owner. You can also go to the add-parking garage page and add a new location. The node-service adds the location in the database. When you move back to the landing page, you should be able to see the location added in the drop-down list.
- The ssh connection did not work for all the nodes while connecting multiple nodes for pipeline
- Consul connections are slow. Takes time to hit the service.