Skip to main content Link Menu Expand (external link) Document Search Copy Copied

created at 2023-01-03

서론

드디어 길고 긴 실시간 채팅방 구현 중 backend가 완료되었다! 경험많고 설계를 잘하시는 분들이 보면 간단해보이겠지만, 경험이 전무한 필자는 모든 구현과 기술 하나하나가 벅찼다. 진짜 응애 개발자로써 기술 문법부터 배워나가는 입장인데, 레퍼런스가 조금이라도 미비한 설명을 한다면 구글링만 3시간 넘게 할 수 밖에 없었다. 그리고 간단한 에러들도 해결하기 위해서 몇시간을 쏟아 부어야만했다. 그래서 이번 Backend 마무리 포스팅은 필자에게 상당히 뜻깊은 포스팅이다.

Backend Architecture

img

Visualized Kafka Traffics and others

img

Running Containers

CONTAINER ID   IMAGE                                      COMMAND                  CREATED          STATUS          PORTS                                                                                                NAMES
c8844bebca0f   docker-elk_logstash                        "/usr/local/bin/dock…"   32 seconds ago   Up 30 seconds   0.0.0.0:5044->5044/tcp, 0.0.0.0:9600->9600/tcp, 0.0.0.0:50000->50000/tcp, 0.0.0.0:50000->50000/udp   docker-elk_logstash_1
10932c3ca0cf   docker-elk_kibana                          "/bin/tini -- /usr/l…"   32 seconds ago   Up 31 seconds   0.0.0.0:5601->5601/tcp                                                                               docker-elk_kibana_1
ecc046260f13   docker-elk_elasticsearch                   "/bin/tini -- /usr/l…"   33 seconds ago   Up 32 seconds   0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp                                                       docker-elk_elasticsearch_1
4f85aff682ba   spring-chatting-server_nginx               "/docker-entrypoint.…"   54 minutes ago   Up 54 minutes   0.0.0.0:8080->80/tcp                                                                                 nginx
374824d2b950   spring-chatting-server_chatting-server-1   "java -jar app.jar"      54 minutes ago   Up 54 minutes   0.0.0.0:8083->8083/tcp                                                                               chatting-server-1
04b35b27012f   spring-chatting-server_chatting-server-2   "java -jar app.jar"      54 minutes ago   Up 54 minutes   0.0.0.0:8084->8084/tcp                                                                               chatting-server-2
ba305f53a20e   confluentinc/cp-kafka:7.2.1                "/etc/confluent/dock…"   54 minutes ago   Up 54 minutes   0.0.0.0:8099->8099/tcp, 9092/tcp                                                                     kafka3
204f557e1588   confluentinc/cp-kafka:7.2.1                "/etc/confluent/dock…"   54 minutes ago   Up 54 minutes   0.0.0.0:8098->8098/tcp, 9092/tcp                                                                     kafka2
bcc4230e019a   confluentinc/cp-kafka:7.2.1                "/etc/confluent/dock…"   54 minutes ago   Up 54 minutes   0.0.0.0:8097->8097/tcp, 9092/tcp                                                                     kafka1
1e4311a3184e   spring-chatting-server_auth-server         "java -jar app.jar"      54 minutes ago   Up 54 minutes   0.0.0.0:8085->8085/tcp                                                                               auth-server
3ae7be01ea42   postgres:12-alpine                         "docker-entrypoint.s…"   54 minutes ago   Up 54 minutes   5432/tcp, 0.0.0.0:5434->5434/tcp                                                                     chatting-db-2
a8aec1c46475   confluentinc/cp-zookeeper:7.2.1            "/etc/confluent/dock…"   54 minutes ago   Up 54 minutes   2181/tcp, 2888/tcp, 3888/tcp                                                                         zookeeper
35c58ec8ea78   postgres:12-alpine                         "docker-entrypoint.s…"   54 minutes ago   Up 54 minutes   5432/tcp, 0.0.0.0:5435->5435/tcp                                                                     auth-db
b6a5f60c3a39   postgres:12-alpine                         "docker-entrypoint.s…"   54 minutes ago   Up 54 minutes   5432/tcp, 0.0.0.0:5433->5433/tcp                                                                     chatting-db-1

Code Index

  1. User Authentication Server
  2. Chat Server
  3. Api gateway
  4. Kafka
  5. Elastic Search configuration
  6. LogStash configuration
  7. Kibana configuration

모든 코드는 https://github.com/ghkdqhrbals/spring-chatting-server/tree/v2에 첨부하였다.