경매방식과 위치정보를 활용한 회식장소 선정 및 입찰경매 시스템 개발
- Spring boot
- Build tool : Maven
- DB : mariaDB, Redis
- Log : Elasticsearch, Logstash, kibana
- Infra : MSA (Eureka + Spring Cloud Gateway)
- message queue : kafka,RabbitMq ,Spring Bus
- search: elastic search
- CI/CD : Jenkins, Docker
- Test : Junit
- API 문서 : Swagger UI
- etc : Lombok, Spring Data JPA
├── Backend
│ ├── config # Spring Cloud Config Server
│ ├── eureka
│ ├── gateway
│ ├── member # 인증 서버 & 업체 사용자 관리
│ ├── auction # 경매 등록과 낙찰 & 리뷰
│ └── search # 검색 서비스
네이버 클라우드 플랫폼 기반으로 테스트 환경을 구성하여 진행
jdk 11, Maven 3.6 환경
docker network create Dining-together
# elk 환경 구성
git clone https://github.com/TaeBeomShin/docker-elk-1
cd docker-elk-1
docker-compose up
# kafka zookeeper
git clone https://github.com/conduktor/kafka-stack-docker-compose
cd kafka-stack-docker-compose
docker-compose -f zk-multiple-kafka-multiple.yml up
# redis, mariadb, rabbitmq
git clone https://github.com/Dining-together/Backend
docker-compose up
cd config
mvn -Dmaven.test.failure.ignore clean compile package
docker build -t config_image .
docker run -d -p 8888:8888 --network Dining-together\
-e "spring.rabbitmq.host=rabbitmq" \
--name config config_image
cd eureka
mvn -Dmaven.test.failure.ignore clean compile package
docker build -t eureka_image .
docker run -d -p 8761:8761 --network Dining-together \
-e "spring.cloud.config.uri=http://config:8888" \
--name eureka eureka_image
cd gateway
mvn -Dmaven.test.failure.ignore clean compile package
docker build -t gateway_image .
docker run -d -p 8000:8000 -p 587:587/tcp --network Dining-together\
--name gateway -e "eureka.client.serviceUrl.defaultZone=http://eureka:8761/eureka/" \
-e "spring.cloud.config.uri=http://config:8888" \
-e "spring.rabbitmq.host=rabbitmq" \
gateway_image
cd member
mvn -Dmaven.test.failure.ignore clean compile package
docker build -t member_image .
docker run -d --network Dining-together \
--name member \
-e "spring.cloud.config.uri=http://config:8888" \
-e "spring.rabbitmq.host=rabbitmq" \
-e "spring.redis.host=redis" \
-e "spring.datasource.url=jdbc:mariadb://mariadb:3306/member" \
-e "kafka.bootstrapAddress: kafka-stack-docker-compose_kafka1_1:9092" \
-e "logback.destination.url=127.0.0.1" \
-e "eureka.client.serviceUrl.defaultZone=http://eureka:8761/eureka/" \
member_image
cd auction
mvn -Dmaven.test.failure.ignore clean compile package
docker build -t auction_image .
docker run -d --network Dining-together \
--name auction \
-e "spring.cloud.config.uri=http://config:8888" \
-e "spring.rabbitmq.host=rabbitmq" \
-e "spring.datasource.url=jdbc:mariadb://mariadb:3306/auction" \
-e "kafka.bootstrapAddress: kafka-stack-docker-compose_kafka1_1:9092" \
-e "logback.destination.url=127.0.0.1" \
-e "eureka.client.serviceUrl.defaultZone=http://eureka:8761/eureka/" \
auction_image
cd search
mvn -Dmaven.test.failure.ignore clean compile package
docker build -t search_image .
docker run -d --network Dining-together \
--name search \
-e "spring.elasticsearch.rest.uris=http://docker-elk-1_elasticsearch_1:9200" \
-e "kafka.bootstrapAddress: kafka-stack-docker-compose_kafka1_1:9092" \
-e "logback.destination.url=127.0.0.1" \
-e "eureka.client.serviceUrl.defaultZone=http://eureka:8761/eureka/" \
search_image