



-
κ°μ²΄μ§ν₯ μ€κ³μμΉ
μ λ°λΌRESTful API
λ₯Ό μ€κ³ ν©λλ€. -
TDD
κ°λ°λ‘ μ μ μ©νλ©°, ν μ€νΈμ μ€μμ±μ λν΄ νμ΅ν©λλ€. -
λμ©λ νΈλν½κ³Ό λμμ±μ λν΄ κ³ λ €
νλ©° κ°λ°ν©λλ€. -
μλ‘μ΄ μ»€λ°μ΄ λ°μν λ λ§λ€
μ½λ리뷰
λ₯Ό ν΅ν΄λ¦¬ν©ν λ§
μ΄ νμν λΆλΆμ μ°Ύμλ΄κ³ , κ°μ ν©λλ€.
ꡬννκ³ μΆμ κΈ°λ₯
μ¬μ©μκ° μ°Έμ¬νκ³ μλ κ²½λ§€ λκ΅°κ° μ μ°° νμ λ, κ²½λ§€μ μ°Έκ°ν μ¬μ©μλ€μκ² μλ‘μ΄ μ μ°° λ°μ λ©μμ§λ₯Ό 보λ΄κ³ , μ μμ€μΈ μ¬μ©μμκ²λ μ€μκ°μΌλ‘ μλ¦Όμ 보λ΄λ κΈ°λ₯μ ꡬννκ³ μ νμ΅λλ€.
λ¬Έμ
- μλ‘μ΄ μ μ°° λ°μ λ©μμ§λ₯Ό 보λ΄λ μμ μ DBμ μ κ·Ό ν΄ Insert 쿼리 νΈμΆ ν΄μΌνκ³ , μ€μκ° μλ¦Όμ λ°μ‘νκΈ° μν΄ Websocket μ μ¬μ©ν΄ μ μν λμμ 체ν¬ν΄ μλμ 보λ΄μΌ νμ΅λλ€. κ²½λ§€ μ°Έμ¬μκ° μ¦κ°ν μλ‘, μ μ°° λ‘μ§ μνμκ° λ³΄λ€ λ©μμ§μ μ€μκ° μλ¦Όμ 보λ΄κΈ°μν λκΈ°μκ°μ΄ κΈΈμ΄μ‘μ΅λλ€.
ν΄κ²°λ°©μ λ° κ²°κ³Ό
- κ²½λ§€ μ°Έμ¬μκ° λ§μμ§ κ²½μ°μλ μ
μ°° λ‘μ§μ μνμκ°μ 보쑴νκ³ μ λ©ν°λͺ¨λμ νμ©, μ
μ°° λ‘μ§μ μννλ μλ²μ κ²½λ§€ μλ¦Ό λ‘μ§μ μννλ μλ²λ₯Ό λΆλ¦¬ν΄ μννλλ‘ νμ΅λλ€.
- κ²½λ§€ μ°Έμ¬μκ° λ§μμ§ κ²½μ°μλ, κ²½λ§€ λ±λ‘ λ‘μ§μ 100ms μ΄λ΄λ‘ μνλ μ μμ΅λλ€.
- ν΅μ¬ λ‘μ§(κ²½λ§€) μ΄μΈ λ¬Έμ κ° λ°μνλλΌλ, λ©μΈμλ²μ μμ μ±μ 보μ₯ν μ μμ΅λλ€.
- μλ² νμ₯μ΄ νμν λ, νΈλν½μ΄ λͺ°λ¦¬λ νΉμ μλ²μ λν΄μλ§ νμ₯μ΄ κ°λ₯ν΄ λΉμ© ν¨μ¨μ±μ λμΌ μ μμ΅λλ€.
- κΈ°λ₯λ³κ²½ λ° κ°μ μμ μ΄ μ΄λ£¨μ΄μ§ λ, λ€λ₯Έμλ²μ λ―ΈμΉλ μν₯μ μ΅μνν μ μμ΅λλ€.
λ¬Έμ
- ν κ°μ§ κΈ°λ₯μ μν΄, μ¬λ¬κ°μ μλ²μμ μμ μ΄ μ΄λ£¨μ΄μ ΈμΌ νμ΅λλ€.
- μλ²κ° 물리μ μΌλ‘ κ²°ν©λμ΄ μμ΄, μΈλΆμμ μλ²μ ꡬ쑰λ₯Ό νμ ν μ μμμ΅λλ€.
- μλ²κ° λ€μ΄λκ±°λ λ§μ μμ²μ΄ λͺ°λ¦¬λλΌλ, λ©μμ§ μμ€μ΄ λ°μν μ μμμ΅λλ€.
ν΄κ²°λ°©μ λ° κ²°κ³Ό
- μλ²μ μ°κ²°μ λ©μμ§ ν(AWS SQS)λ₯Ό ν΅ν΄ λ°ν, ꡬλ
νλλ‘ νμ΅λλ€.
- μ¬λ¬ μλ²μμ μμ μ΄ λΉλκΈ°μ μΌλ‘ μ΄λ£¨μ΄ μ§ μ μμ΄, μμ€ν μ μ²λ¦¬λμ μ¦κ°μν€κ³ μ¬μ©μμκ² λΉ λ₯Έ μλΉμ€λ₯Ό μ 곡ν μ μμ΅λλ€.
- κ° μλ²κ° 물리μ κ²°ν©μ΄ μλ κ°μ μ μΌλ‘ ν΅μ λλ―λ‘, μΈλΆμμ ꡬ쑰λ₯Ό νμ ν μ μκ² ν΄ λ³΄μμ μΌλ‘ μμ νκ² μ μ§ν μ μμ΅λλ€.
- μλ²κ° λ€μ΄λκ±°λ λ§μ μμ²μ΄ λͺ°λ¦¬λλΌλ, νλ₯Ό ν΅ν΄ λ©μμ§κ° κ΄λ¦¬λμ΄, λ©μΈμ§ μμ€ μμ΄ μμ μ μΌλ‘ μ²λ¦¬ν μ μμ΅λλ€.
-
ECS Fargate
λ₯Ό μ΄μ©ν΄ Main, Sender, Broker 3κ°μ μλΉμ€λ₯Ό λμ°κ³ ,ALB
μ€μ μ ν΅ν΄ /sender/* λ‘ μμ² λλ 건μ λν΄μλ Notification Sender μ΄ν리μΌμ΄μ μΌλ‘, λλ¨Έμ§ μμ²μ Main μ΄ν리μΌμ΄μ μΌλ‘ μμ²λλλ‘ κ΅¬μ±νμ΅λλ€. -
Redis μλ²λ
ElastiCache
λ₯Ό νμ©νλ©°, Main μλ²μμμ λ‘κ·ΈμΈ μΈμ 곡μ , μΊμ±μ²λ¦¬, μ μ°° μ λμμ± μ μ΄λ₯Ό μν Lock μΌλ‘ μ¬μ©νκ³ μμ΅λλ€. -
AWS SQSλ₯Ό νμ©ν΄ Main μλ²μ Broker μλ² κ°μ λ©μμ§ μ λ¬, Sender μλ²μ Broker μλ² κ°μ λ©μμ§ μ λ¬μ ꡬννμ΅λλ€.
-
λ‘κ·ΈμΈ μ, κ³ κ°μ Sender μλ²μ
Websocket
μ ν΅ν΄ μ°κ²°μνλ₯Ό μ μ§ν©λλ€. -
κ³ κ°μ΄ μ μ°° μ, Main μλ²μμλ ν΄λΉ μμ²μ λ°μ μ μ°°λ‘μ§μ μννκ³ , AWS SQS(sha-message-queue)μ κ²½λ§€ μ 보 λ©μμ§λ₯Ό Publish ν©λλ€.
-
Broker μλ²μμλ AWS SQS(sha-message-queue)μ λ©μμ§λ₯Ό λ°μμ λ, κ²½λ§€ μ°Έμ¬μμ λ©μμ§ν¨μ λ©μμ§λ₯Ό μΆκ°νκ³ , μλμ μν μ 보λ₯Ό AWS SQS( sha-message-send-queue) λ‘ Publish ν©λλ€.
-
Sender μλ²μμλ AWS SQS(sha-message-send-queue)μ λ©μμ§λ₯Ό λ°μμ λ, Websocket μ ν΅ν΄ μ€μκ° μλμ μ μ‘ν©λλ€.
-
νλ‘μ νΈμ μν μ λΆλ¦¬νκΈ° μν΄ λ©ν°λͺ¨λμ μ¬μ©νμ΅λλ€. 곡ν΅μ μΌλ‘ μ¬μ©λλ κΈ°λ₯λ€μ common λͺ¨λλ‘ κ΅¬λΆν λ€ ν΄λΉ λͺ¨λμ μ¬μ©ν΄ mainκ³Ό broker μ΄ν리μΌμ΄μ μ ꡬμ±νκ³ , μ€μκ° μλμ μν Senderλ λ°λ‘ μ΄ν리μΌμ΄μ μ ꡬμ±νμ΅λλ€.
-
TeamCity
μVCS Trigger
λ₯Ό ν΅ν΄ Github Main λΈλ°μΉμ μ»€λ° μ΄λ²€νΈλ₯Ό κ°μ§νκ³ , ν΄λΉ μ΄λ²€νΈμ λν΄ λΉλ λ° ν μ€νΈλ₯Ό μ§ν ν Docker μ΄λ―Έμ§λ₯Ό ꡬμ±ν΄ ECRλ‘ μ λ‘λν©λλ€. -
μ λ‘λ λ Docker μ΄λ―Έμ§λ₯Ό
ECS Fargate
μ λ°°ν¬νκ³ ,ALB
λ₯Ό ν΅ν΄ μλΉμ€λ₯Ό μ 곡ν©λλ€.

Leave a Reply