Giter Site home page Giter Site logo

yugabytedb-samples / yugastore-java Goto Github PK

View Code? Open in Web Editor NEW
143.0 15.0 65.0 23.59 MB

An implementation of a sample e-commerce app composed of microservices written in Spring (Java), a UI based on React, and YugabyteDB as the distributed SQL database.

License: Apache License 2.0

Java 80.23% HTML 1.73% CSS 10.96% Shell 2.45% Python 3.62% Dockerfile 1.01%
yugabyte spring-boot spring-data-jpa demos

yugastore-java's Introduction

Yugastore in Java

Homepage This is an implementation of a sample ecommerce app. This microservices-based retail marketplace or eCommerce app is composed of microservices written in Spring (Java), a UI based on React and YugabyteDB as the distributed SQL database.

If you're using this demo app, please โญ this repository! We appreciate your support.

Trying it out

This repo contains all the instructions you need to run the app on your laptop.

You can also try the app out online, it is hosted on Pivotal Web Services.

Versions

  • Java 17
  • Spring Boot 2.6.3
  • Spring Cloud 2021.0.0
  • Yugabyte Java Driver 4.6.0-yb-10
  • Python 3 (Data Loading)

Features

  • Written fully in Spring Framework
  • Desgined for multi-region and Kubernetes-native deployments
  • Features 6 Spring Boot microservices
  • Uses a discovery service that the microservices register with
  • Sample data has over 6K products in the store

Architecture

The architecture diagram of Yugastore is shown below.

Architecture of microservices based retail marketplace app

Microservice YugabyteDB API Default host:port Description
service discovery - localhost:8761 Uses Eureka for localhost. All microservices register with the Eureka service. This registration information is used to discover dynamic properties of any microservice. Examples of discovery include finding the hostnames or ip addresses, the load balancer and the port on which the microservice is currently running.
react-ui - localhost:8080 A react-based UI for the eCommerce online marketplace app.
api-gateway - localhost:8081 This microservice handles all the external API requests. The UI only communicates with this microservice.
products YCQL localhost:8082 This microservice contains the entire product catalog. It can list products by categories, return the most popular products as measured by sales rank, etc.
cart YSQL localhost:8083 This microservice deals with users adding items to the shopping cart. It has to be necessarily highly available, low latency and often multi-region.
checkout YCQL localhost:8086 This deals with the checkout process and the placed order. It also manages the inventory of all the products because it needs to ensure the product the user is about to order is still in stock.
login YSQL localhost:8085 Handles login and authentication of the users. Note that this is still a work in progress.

Build and run

To build, simply run the following from the base directory:

$ mvn -DskipTests package

To run the app on host machine, you need to first install YugabyteDB, create the necessary tables, start each of the microservices and finally the React UI.

Running the app on host

Make sure you have built the app as described above. Now do the following steps.

Step 1: Install and initialize YugabyteDB

You can install YugabyteDB by following these instructions.

Now create the necessary tables as shown below. Note that these steps would take a few seconds.

$ cd resources
$ cqlsh -f schema.cql

Next, load some sample data.

$ cd resources
$ ./dataload.sh

Create the postgres tables in resources/schema.sql for the YSQL tables.

Step 2: Start the Eureka service discovery (local)

You can do this as follows:

$ cd eureka-server-local/
$ mvn spring-boot:run

Verify this is running by browsing to the Spring Eureka Service Discovery dashboard.

Step 2: Start the api gateway microservice

To run the products microservice, do the following in a separate shell:

$ cd api-gateway-microservice/
$ mvn spring-boot:run

Step 3: Start the products microservice

To run the products microservice, do the following in a separate shell:

$ cd products-microservice/
$ mvn spring-boot:run

Step 4: Start the checkout microservice

To run the products microservice, do the following in a separate shell:

$ cd checkout-microservice/
$ mvn spring-boot:run

Step 5: Start the checkout microservice

To run the cart microservice, do the following in a separate shell:

$ cd cart-microservice/
$ mvn spring-boot:run

Step 6: Start the UI

To do this, simply run npm start from the frontend directory in a separate shell:

$ cd react-ui
$ mvn spring-boot:run

Now browse to the marketplace app at http://localhost:8080/.

Running the app in docker containers

The dockers images are built along with the binaries when mvn -DskipTests package was run. To run the docker containers, run the following script, after you have Installed and initialized YugabyteDB:

$ ./docker-run.sh

Check all the services are registered on the eureka-server. Once all services are registered, you can browse the marketplace app at http://localhost:8080/.

Screenshots

Home

Home Page

Product Category Page

Product Category

Product Detail Page

Product Page

Car

Cart

Checkout

Checkout

yugastore-java's People

Contributors

ameyb avatar bretthoyer avatar dependabot[bot] avatar nchandrappa avatar rkarthik007 avatar samkulkarni20 avatar schoudhury avatar ybnelson avatar yogendra 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

yugastore-java's Issues

Errors on docker-run.sh

(base) dsqln:yugastore-java andrewnelson$ ./docker-run.sh
hostname: illegal option -- I
usage: hostname [-fs] [name-of-host]

Errors on dataload.sh

On mac os laptop dev environment:
(base) dsqln:resources andrewnelson$ ./dataload.sh
Processing file: products.json
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by io.netty.util.internal.PlatformDependent0$1 (file:/Users/andrewnelson/dev/yugastore-java/resources/cassandra-loader) to field java.nio.Buffer.address
WARNING: Please consider reporting this to the maintainers of io.netty.util.internal.PlatformDependent0$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
*** Processing cronos_products.csv
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Trouble parsing : null
java.lang.NullPointerException
at com.datastax.loader.parser.SetParser.parseIt(SetParser.java:75)
at com.datastax.loader.parser.AbstractParser.parse(AbstractParser.java:37)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:141)
at com.datastax.loader.parser.DelimParser.parseWithUnivocity(DelimParser.java:123)
at com.datastax.loader.parser.DelimParser.parse(DelimParser.java:118)
at com.datastax.loader.CqlDelimParser.parse(CqlDelimParser.java:345)
at com.datastax.loader.CqlDelimLoadTask.execute(CqlDelimLoadTask.java:318)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:153)
at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:53)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
*** DONE: cronos_products.csv number of lines processed: 6276 (6276 inserted)
Lines Processed: 6275 Rate: 2091.6666666666665
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by io.netty.util.internal.PlatformDependent0$1 (file:/Users/andrewnelson/dev/yugastore-java/resources/cassandra-loader) to field java.nio.Buffer.address
WARNING: Please consider reporting this to the maintainers of io.netty.util.internal.PlatformDependent0$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
*** Processing cronos_product_rankings.csv
*** DONE: cronos_product_rankings.csv number of lines processed: 6022 (6022 inserted)
Lines Processed: 6021 Rate: 6021.0
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by io.netty.util.internal.PlatformDependent0$1 (file:/Users/andrewnelson/dev/yugastore-java/resources/cassandra-loader) to field java.nio.Buffer.address
WARNING: Please consider reporting this to the maintainers of io.netty.util.internal.PlatformDependent0$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
*** Processing cronos_product_inventory.csv
*** DONE: cronos_product_inventory.csv number of lines processed: 6276 (6276 inserted)
Lines Processed: 6275 Rate: 6275.0

[Question] so does this mean each microservice run their own database with different schema?

For example, when the checkout service needs reflect product details such as description, how does it "fetch" this data?

Does it have a duplicate of the production description in its own database? or it fetches it from the product microservice directly? or indirectly via the API gateway?

E,g, I am assuming that checkout microservice is responsible for displaying the checkout list.

image

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.