π‘ κ°μ
λ©μΈμλ²μ μλ¦Όμλ²κ° λΆλ¦¬λ ν ꡬ쑰μ μλ¦Όμλ²λ λꡬλ λ€λ₯Έ μ¬λμ μλ¦Όμ νμΈν μ μλ€λ μΉλͺ μ μΈ μ€λ₯κ° μμλ€. μ΄λ₯Ό ν΄κ²°νκΈ° μν κ³ λ―Όμ λ΄μλ€.
π‘ λ¬Έμ λΆμ
@GetMapping(value = "/v1/notifications/{userId}/subscribe", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public SseEmitter subscribe(@PathVariable Long userId) {
SseEmitter emitter = notificationService.subscribe(userId);
κΈ°μ‘΄ λ°©μμμλ λ¨μν userId κ°μ param μΌλ‘ λ°μμ ꡬλ νκ³ ν΄λΉ userId λ‘ λ€μ΄μ€λ μλ¦Ό λ©μΈμ§λ₯Ό νμΈν μ μλ κ΅¬μ‘°λ‘ λμ΄μμλ€.
νμ§λ§ μ΄λλ‘λ©΄ μΈμ¦κ³Όμ μ΄ μκΈ° λλ¬Έμ λꡬλ λ€λ₯Έ μ¬λμ μλ¦Όμ νμΈν μ μλ€λ μ€λ₯κ° μλ€.
μ΄λ₯Ό ν΄κ²°νκΈ° μν΄μ λͺ κ°μ§ ν΄κ²°λ°©μμ κ³ λ―Όμ ν΄λ΄€λ€.
π± 1. JWT ν ν°μ μ λ¬νκ³ κ° μλ²μμ Spring Security λ₯Ό μ΄μ©ν΄ μΈμ¦
SSE ꡬλ μμ² api λ₯Ό νΈμΆν λ JWT λ₯Ό μ λ¬μ νκ³ , μλ¦Ό μλ²μ μμ Spring Security μ€μ μ ν΅ν΄ κ° κ°μ μλ²μμ μΈμ¦μ λ΄λΉνλλ‘ μ€μ μ νλ κ²μ΄λ€.
νμ§λ§ νμλ MSA λ°©μ λμ μ κ°μ₯ μ€μν ν€μλλ κ° μλ²λ³ νμ€ν μν λΆλ΄μ΄λΌκ³ μκ°νλ€.
νμ¬λ λ©μΈ μλ²μ μλ¦Ό μλ² λλ§ μμ§λ§, μ΄ν μλ¦Ό μλ² μ¦μ€ λλ ν λλ©μΈ μλ²λ₯Ό λ§λλ κ²μ μκ°νλ€λ©΄ νμ μ 보λ₯Ό λΆλ¬μ€κ³ λλ μΈμ¦μΈκ° μν μ νλ μλ²κ° νμ€ν μμΌλ©΄ μ’κ² λ€λ μκ°μ νλ€.
π± 2. JWT ν ν°μ μ λ¬νλ, ν΄λΉ μλ²μμ λ©μΈμλ²λ‘ μΈμ¦μ μμ² ( Feign Client μ¬μ© )
μμ λ§μ°¬κ°μ§λ‘ JWT ν ν°μΌλ‘ μλ¦Ό μλ²μ ꡬλ μμ²μ νλ, μλ¦Ό μλ²μμλ μΈμ¦κ³Όμ μ κ±°μΉμ§ μκ³ μΈμ¦ κ³Όμ μ λ©μΈ μλ²μ μ± μμ μ κ°νλ κ²μ΄λ€.
μ΄λ κ² νμ μμ μλ¦Όμλ²λ μλ¦Όμ 보λ΄λ μν λ§ μ λ΄νκ² λκ³ λ©μΈμλ²μ κΈ°μ‘΄ Spring Security μΈν μ΄ μκΈ° λλ¬Έμ JWT Token μ claim νλ κ³Όμ μ ν΅ν΄ userId κ°μ μλ¦Ό μλ²λ‘ λ°ννλ€.
ꡬ쑰 :
Feign Client μ λν΄ μ‘°μ¬ν΄ 보μλ€.
https://hanstory33.tistory.com/317
Feign Client λ₯Ό λ§λ Netflix
βοΈ Feign Client λ?Feign Client λ HTTP μμ²μ μΈν°νμ΄μ€λ§μΌλ‘ μ²λ¦¬λ₯Ό ν μ μκ² λμμ£Όλ ν΄λΌμ΄μΈνΈμ΄λ€.Spring Cloud μμ μ 곡νλ @FeignClient μ΄λ Έν μ΄μ μ μ΄μ©ν΄μ λ©μλ νΈμΆμ²λΌ μΈλΆ API λ
hanstory33.tistory.com
'Project > μΉνμ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μΉνμ] 04/06 κ°λ°μΌμ§ Kafka λμ (1) | 2025.04.07 |
---|---|
[μΉνμ] 04/05 κ°λ°μΌμ§ μλ¦Όμλ² λΆλ¦¬ MSA λ°©μ (0) | 2025.04.06 |
[μΉνμ] 11/22 κ°λ°μΌμ§ μ΅μ’ λ°ν λ° κ°μΈ KPT νκ³ (1) | 2024.12.01 |
[μΉνμ] 11/20 κ°λ°μΌμ§ μΈνλΌ μ€κ³λ μμ± : AWS νκ²½ κ΅¬μΆ (1) | 2024.12.01 |
[μΉνμ] 11/19 κ°λ°μΌμ§ Route53 λλ©μΈ μ°κ²° (0) | 2024.12.01 |