๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์œ ์ผ ID ์ƒ์„ฑ๊ธฐ ์„ค๊ณ„

2026. 6. 20. 22:55ยท๐Ÿ‘ฉ‍๐Ÿ’ปDeveloper ๐Ÿ’ก/๐Ÿ’พBack-end๐Ÿ•Š๏ธ

 

์œ ์ผ์„ฑ์ด ๋ณด์žฅ๋˜๋Š” ID ์ƒ์„ฑ๊ธฐ ๊ตฌํ˜„์— ์“ฐ์ผ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ์ „๋žต์„ ์•Œ์•„๋ณธ๋‹ค. 

 

์š”๊ตฌ์‚ฌํ•ญ

- ID๋Š” ์œ ์ผํ•ด์•ผํ•œ๋‹ค. ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•œ๋‹ค

- 64๋น„ํŠธ๋กœ ํ‘œํ˜„๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์ด์–ด์•ผ ํ•œ๋‹ค. 

- ๋ฐœ๊ธ‰ ๋‚ ์งœ์— ๋”ฐ๋ผ์„œ ์ •๋ ฌ ๊ฐ€๋Šฅํ•ด์•ผํ•œ๋‹ค.

- ์ดˆ๋‹น 10,000๊ฐœ์˜ ID๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. 

 

๊ฐœ๋žต์  ์„ค๊ณ„์•ˆ ์ œ์‹œ ๋ฐ ๋™์˜ ๊ตฌํ•˜๊ธฐ 

1. ๋‹ค์ค‘ ๋งˆ์Šคํ„ฐ ๋ณต์ œ (Multi-master replication)

auto_increment ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•œ๋‹ค. ๋‹ค์Œ ID๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ 1๋งŒํผ ์ฆ๊ฐ€์‹œํ‚ค๋Š”๊ฑด ์•„๋‹ˆ๊ณ , K๋งŒํผ์”ฉ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. K๋Š” ํ˜„์žฌ ์‚ฌ์šฉ์ค‘์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์˜ ์ˆ˜๋‹ค. DB์ˆ˜๋ฅผ ๋Š˜๋ฆฌ๋ฉด ์ดˆ๋‹น ์ƒ์‚ฐ ๊ฐ€๋Šฅํ•œ ID์ˆ˜๋„ ๋Š˜๋ฆด ์ˆ˜ ์žˆ์Œ์œผ๋กœ, ๊ทœ๋ชจ ํ™•์žฅ์„ฑ ๋ฌธ์ œ๋ฅผ ์–ด๋А์ •๋„ ํ•ด์†Œํ•œ๋‹ค. 

 

2. UUID

์œ ์ผ์„ฑ์ด ๋ณด์žฅ๋˜๋А ใ„ดID๋ฅผ ๋งŒ๋“œ๋Š” ๋˜ํ•˜๋‚˜์˜ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค. UUID๋Š” 128๋น„ํŠธ์งœ๋ฆฌ ์ˆ˜๋‹ค. 

์ค‘๋ณต UUID๋ฅผ 1๊ฐœ ์ƒ๊ธธ ํ™•๋ฅ ์„ 50% ๋Œ์–ด์˜ฌ๋ฆด๋ ค๋ฉด ์ดˆ๋‹น 10์–ต๊ฐœ์˜ UUID๋ฅผ 100๋…„๋™์•ˆ ๊ณ„์†ํ•ด์„œ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. [1]

๊ฐ๊ฐ์˜ ์›น์„œ๋ฒ„๋Š” ๋ณ„๋„์˜ ID ์ƒ์„ฑ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋…๋ฆฝ์ ์œผ๋กœ ID๋ฅผ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค. 

 ์„œ๋ฒ„์‚ฌ์ด ์กฐ์œจ์ด ํ•„์š”์—†์Œ์œผ๋กœ ๋™๊ธฐํ™” ์ด์Šˆ๋„ ์—†๋‹ค. ๊ฐ ์„œ๋ฒ„๊ฐ€ ์ž๊ธฐ๊ฐ€ ์“ธ ID๋ฅผ ์•Œ์•„์„œ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ๊ทœ๋ชจ ํ™•์žฅ๋„ ์‰ฝ๋‹ค. 

์‹œ๊ฐ„์ˆœ ์ •๋ ฌ์ด์•ˆ๋œ๋‹ค. ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๊ฐ’์ด ํฌํ•จ๋œ๋‹ค. ID๊ฐ€ 128๋น„ํŠธ์ž„์œผ๋กœ ๊ธธ๋‹ค. 

 

3. ํ‹ฐ์ผ“ ์„œ๋ฒ„

ํ”Œ๋ฆฌ์ปค(Flickr)๋Š” ๋ถ„์‚ฐ ๊ธฐ๋ณธ ํ‚ค๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๊ธฐ ์œ„ํ•ด ์ด๊ธฐ์ˆ ์„ ์ด์šฉํ–ˆ๋‹ค. [2]

auto_increment๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์„œ๋ฒ„, ํ‹ฐ์ผ“ ์„œ๋ฒ„๋ฅผ ์ค‘์•™ ์ง‘์ค‘ํ˜•์œผ๋กœ ํ•˜๋‚˜๋งŒ ์“ฐ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 

๊ตฌํ˜„์ด ์‰ฝ๊ณ , ์ค‘์†Œ ๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ํ•ฉํ•˜๋‹ค.

ํ‹ฐ์ผ“ ์„œ๋ฒ„๊ฐ€ SPOF(Single-Point-of-Failure)๊ฐ€ ๋œ๋‹ค. 

 

4. ํŠธ์œ„ํ„ฐ ์Šค๋…ธํ”Œ๋ ˆ์ดํฌ 

ํŠธ์œ„ํ„ฐ๋Š” ์Šค๋…ธํ”Œ๋ ˆ์ดํฌ(snoewflake)๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๋…์ฐฝ์ ์ธ ID ์ƒ์„ฑ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. 

์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š” ID์˜ ๊ตฌ์กฐ๋ฅผ ์—ฌ๋Ÿฌ ์ ˆ๋กœ ๋ถ„ํ•  ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ƒ์„ฑํ•  64๋น„ํŠธ์˜ ID ๊ตฌ์กฐ๋ฅผ ์œ„์™€ ๊ฐ™์ด ๋ถ„ํ• ํ•œ๋‹ค. 

๊ฐ์ ˆ์˜ ์“ฐ์ž„์ƒˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 

 

- ์‚ฌ์ธ(sign) ๋น„ํŠธ: 1๋น„ํŠธ ํ• ๋‹น. 

- ํƒ€์ž„์Šคํƒฌํ”„ : 41๋น„ํŠธ ํ• ๋‹น. epoch ์ดํ›„๋กœ ๋ช‡ ๋ฐ€๋ฆฌ์ดˆ๊ฐ€ ๊ฒฝ๊ณผํ–ˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. 1288834974657(Nov 04,2010,01:42:54 UTC)

 

ID๊ตฌ์กฐ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ 41๋น„ํŠธ๋ฅผ ์ฐจ์ง€ํ•œ๋‹ค. ์‹œ๊ฐ„ ํ๋ฆ„์— ๋”ฐ๋ผ์„œ ์ ์  ํฐ ๊ฐ’์„ ๊ฐ–์Œ์œผ๋กœ, ๊ฒฐ๊ตญ ID๋Š” ์‹œ๊ฐ„์ˆœ์œผ๋กœ ์ •๋ ฌ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

์ด์ง„ ํ‘œํ˜„ ํ˜•ํƒœ๋กœ๋ถ€ํ„ฐ UTC ์‹œ๊ฐ์„ ์ถ”์ถœํ•˜๋Š” ์˜ˆ์ œ์ด๋‹ค. ์–ด๋– ํ•œ UTC์‹œ๊ฐ๋„ ์ƒ์ˆ ํ•œ ํƒ€์ž„์Šคํƒฌํ”„ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. 

2^41-1=2199023255551๋ฐ€๋ฆฌ์ดˆ์ด๋‹ค. ๋Œ€๋žต 69๋…„์— ํ•ด๋‹นํ•œ๋‹ค. 2199023255551๋ฐ€๋ฆฌ์ดˆ/ 1000/365์ผ /24์‹œ๊ฐ„/3600์ดˆ 

๋”ฐ๋ผ์„œ 69๋…„ ๋™์•ˆ๋งŒ ๋™์ž‘ํ•œ๋‹ค. ๊ธฐ์› ์‹œ๊ฐ์„ ํ˜„์žฌ์— ๊ฐ€๊น๊ฒŒ ๋งž์ถฐ์„œ overflow๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์‹œ์ ์„ ๋Šฆ์ถฐ๋†“๋Š”๋‹ค. 69๋…„์ด ์ง€๋‚˜๋ฉด ๊ธฐ์›์‹œ๊ฐ์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜ id์ฒด๊ณ„๋ฅผ ๋‹ค๋ฅธ๊ฑฐ๋กœ ์ด์ „ํ•ด์•ผํ•œ๋‹ค. 

 

 

 

- ๋ฐ์ดํ„ฐ ์„ผํ„ฐ : 5 ๋น„ํŠธ ํ• ๋‹น. 2^5=32 ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋‹ค. 

- ์„œ๋ฒ„ ID  : 5 ๋น„ํŠธ ํ• ๋‹น. ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋‹น 32๊ฐœ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

- ์ผ๋ จ๋ฒˆํ˜ธ : 

12๋น„ํŠธ์ž„์œผ๋กœ, 2^12=4096๊ฐœ์˜ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค. ๊ฐ ์„œ๋ฒ„์—์„œ๋Š” ID๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋งˆ๋‹ค ์ผ๋ จ๋ฒˆํ˜ธ๋ฅผ 1๋งŒํผ ์ฆ๊ฐ€ ์‹œํ‚จ๋‹ค. ์ด ๊ฐ’์€ 1๋ฐ€๋ฆฌ์ดˆ๊ฐ€ ๊ฒฝ๊ณผํ•  ๋•Œ๋งˆ๋‹ค 0์œผ๋กœ ์ดˆ๊ธฐํ™”(reset)๋œ๋‹ค. 

๊ฐ™์€ ๋ฐ€๋ฆฌ์ดˆ ๋™์•ˆ ํ•˜๋‚˜ ์ด์ƒ์˜ ID๋ฅผ ๋งŒ๋“ค์–ด๋‚ธ ๊ฒฝ์šฐ๋งŒ 0๋ณด๋‹ค ํฐ ๊ฐ’์„ ๊ฐ–๋Š”๋‹ค. 

 

 

 

์ƒ์„ธ ์„ค๊ณ„ 

 

  • ์‹œ๊ณ„ ๋™๊ธฐํ™”(clock synchronization): ์ด๋ฒˆ ์„ค๊ณ„๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์šฐ๋ฆฌ๋Š” ID ์ƒ์„ฑ ์„œ๋ฒ„๋“ค์ด ์ „๋ถ€ ๊ฐ™์€ ์‹œ๊ณ„๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ๊ฐ€์ •์€ ํ•˜๋‚˜์˜ ์„œ๋ฒ„๊ฐ€ ์—ฌ๋Ÿฌ ์ฝ”์–ด์—์„œ ์‹คํ–‰๋  ๊ฒฝ์šฐ ์œ ํšจํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๋Ÿฌ ์„œ๋ฒ„๊ฐ€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋…๋ฆฝ๋œ ์—ฌ๋Ÿฌ ์žฅ๋น„์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฒฝ์šฐ์—๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค. ์‹œ๊ณ„ ๋™๊ธฐํ™”์˜ ์‹ค์ œ ๋ฐฉ๋ฒ•์€ ์ด ์ฑ…์ด ๋‹ค๋ฃฐ ์ฃผ์ œ๋Š” ์•„๋‹ˆ์ง€๋งŒ, ๊ทธ๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ์ ์„ ์•Œ์•„๋‘๋Š” ๊ฒƒ์€ ์ค‘์š”ํ•˜๋‹ค. NTP(Network Time Protocol)์€ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฐ€์žฅ ๋ณดํŽธ์  ์ˆ˜๋‹จ์ด๋‹ค. ๊ด€์‹ฌ ์žˆ๋Š” ๋…์ž๋Š” [4]๋ฅผ ์ฐธ๊ณ ํ•˜๊ธฐ ๋ฐ”๋ž€๋‹ค.
  • ๊ฐ ์ ˆ(section)์˜ ๊ธธ์ด ์ตœ์ ํ™”: ์˜ˆ๋ฅผ ๋“ค์–ด ๋™์‹œ์„ฑ(concurrency)์ด ๋‚ฎ๊ณ  ์ˆ˜๋ช…์ด ๊ธด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ผ๋ฉด ์ผ๋ จ๋ฒˆํ˜ธ ์ ˆ์˜ ๊ธธ์ด๋ฅผ ์ค„์ด๊ณ  ํƒ€์ž„์Šคํƒฌํ”„ ์ ˆ์˜ ๊ธธ์ด๋ฅผ ๋Š˜๋ฆฌ๋Š” ๊ฒƒ์ด ํšจ๊ณผ์ ์ผ ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ์ด๋‹ค.
  • ๊ณ ๊ฐ€์šฉ์„ฑ(high availability): ID ์ƒ์„ฑ๊ธฐ๋Š” ํ•„์ˆ˜ ๋ถˆ๊ฐ€๊ฒฐ(mission critical) ์ปดํฌ๋„ŒํŠธ์ด๋ฏ€๋กœ ์•„์ฃผ ๋†’์€ ๊ฐ€์šฉ์„ฑ์„ ์ œ๊ณตํ•ด์•ผ ํ•  ๊ฒƒ์ด๋‹ค.

 

์ฐธ๊ณ ๋ฌธํ—Œ

[1] Universally unique identifier: https://en.wikipedia.org/wiki/Universally_unique_identifier

[2] Ticket Servers: Distributed Unique Primary Keys on the Cheap: https://code.flickr.net/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap/

[3] Announcing Snowflake: https://blog.twitter.com/engineering/en_us/a/2010/announcing-snowflake.html

[4] Network time protocol: https://en.wikipedia.org/wiki/Network_Time_Protocol

 

'๐Ÿ‘ฉโ€๐Ÿ’ปDeveloper ๐Ÿ’ก > ๐Ÿ’พBack-end๐Ÿ•Š๏ธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋‰ด์Šค ํ”ผ๋“œ ์‹œ์Šคํ…œ ์„ค๊ณ„  (0) 2026.06.20
URL ๋‹จ์ถ•๊ธฐ ์„ค๊ณ„  (1) 2026.06.20
์ฒ˜๋ฆฌ์œจ ์ œํ•œ ์žฅ์น˜์˜ ์„ค๊ณ„  (0) 2026.06.20
๐Ÿ“š ์‹œ์Šคํ…œ ๋””์ž์ธ & AI ํŒŒ์ดํ”„๋ผ์ธ ํ•™์Šต ์ง„๋„ํ‘œ  (0) 2026.06.20
๐Ÿ“šย ์‹œ์Šคํ…œย ๋””์ž์ธย &ย AIย ํŒŒ์ดํ”„๋ผ์ธย ํ•™์Šตย ์ง„๋„ํ‘œ  (0) 2026.06.20
'๐Ÿ‘ฉ‍๐Ÿ’ปDeveloper ๐Ÿ’ก/๐Ÿ’พBack-end๐Ÿ•Š๏ธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๋‰ด์Šค ํ”ผ๋“œ ์‹œ์Šคํ…œ ์„ค๊ณ„
  • URL ๋‹จ์ถ•๊ธฐ ์„ค๊ณ„
  • ์ฒ˜๋ฆฌ์œจ ์ œํ•œ ์žฅ์น˜์˜ ์„ค๊ณ„
  • ๐Ÿ“š ์‹œ์Šคํ…œ ๋””์ž์ธ & AI ํŒŒ์ดํ”„๋ผ์ธ ํ•™์Šต ์ง„๋„ํ‘œ
fulfilling_enjoyable yeona๐Ÿถ๐Ÿฆซ
fulfilling_enjoyable yeona๐Ÿถ๐Ÿฆซ
Quantitative Research Engineer & Quantitative Strategist | Multimodal Alpha (Price/News/On-chain) | Regime-aware, Cost-included Backtests | Remote-first ์—ฐ๋ฆฌ์˜ ๋‚œ ๋จธ๋‹ˆ๐Ÿ’ฐ๊ฐ€ ์ข‹์•„๐Ÿ’™๐Ÿฅณ ์ถฉ๋งŒํ•˜๊ฒŒ ๊ทธ๋ฆฌ๊ณ  ์ฆ๊ฒ๊ฒŒ ๐Ÿถ ๐Ÿฆซ ๐Ÿ’›
  • Eliana Lee
    Product & AI Engineer
    AboutMe ๋ชฉํ‘œ GitHub _yeonlee___ Eliana_Eden
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐Ÿค ๐Ÿ˜Ž ์•ˆ๋…•โ˜ƒ๏ธ๐Ÿ’ž (125)
      • ๐Ÿ’™ ๐Ÿค Diary๐Ÿฐ ๐ŸŽ€ ๐Ÿงธ (37)
        • ๐Ÿ—ฝ๋ฏธ๊ตญ DS & CS ๋ฐ•์‚ฌ ์ด๋ฏผ๐Ÿ‹ (26)
        • ๐Ÿ›ซ์—ฌํ–‰ ์ด์•ผ๊ธฐ (1)
        • ๐Ÿ“’์˜ค๋Š˜ ์ด์•ผ๊ธฐ๐Ÿ’’๐Ÿซง๐ŸŒค๏ธ (6)
        • ๐Ÿฐโ˜˜๏ธ๐Ÿป‍โ„๏ธ๊ฐ•์•„์ง€ ์œก์•„ (0)
      • ๐ŸฌActuary๐Ÿคธ‍โ™€๏ธโœจ (1)
      • ๐Ÿ‘ฉ‍๐Ÿ’ปDeveloper ๐Ÿ’ก (65)
        • โš’๏ธ์‚ฝ์งˆ ๊ธฐ๋ก๊ธฐ๐Ÿ“[TIL] (6)
        • ๐Ÿ–ผ๏ธFront-end๐ŸŽจ (3)
        • ๐Ÿ’พBack-end๐Ÿ•Š๏ธ (29)
        • ๐Ÿคน‍โ™€๏ธAlgorithm & Coding Test๐Ÿ’ƒ (9)
        • ๐Ÿ—ปData๐Ÿ”๏ธ (1)
        • ๐Ÿ“Project๐Ÿ• (9)
      • ๐Ÿ’ฐ๊ฒฝ์ œ์  ์ž์œ  ๋‹ฌ์„ฑโœŒ๏ธ๐ŸคŸ (9)
        • ๐Ÿ“ŠQuant๐Ÿ“ˆ๐Ÿ‘ (5)
        • ๐Ÿฐ๐Ÿ›’๐Ÿฅ‡ (1)
        • ๐Ÿ’Ž ํˆฌ์ž ์‹ค์ „ ๊ฒฝํ—˜ โ˜บ๏ธ (1)
        • ๐Ÿ… Bitcoin 15๊ฐœ ๋ชจ์œผ๊ธฐ : 2040๋…„ 200์–ต+ (0)
        • ๐ŸŒŽ๋ฏธ๊ตญ ์‹œ์žฅ๐Ÿฆ (0)
      • ๐ŸŒค๏ธCloud๐ŸŒค๏ธโ˜๏ธ (2)
        • AWS (1)
        • Kubernetes (0)
        • Google Cloud Professional (0)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • git
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์‹œ์นด๊ณ ๋Œ€ํ•™๊ต
    ๋ฏธ๊ตญ์œ ํ•™
    ์‹œ์นด๊ณ 
    Java
    CS
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ๋ฏธ๊ตญ๋น„์ž
    AWS
    ๊ฐ€์„ํ•™๊ธฐ
    ์‹œ์นด๊ณ ๋Œ€
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.5
fulfilling_enjoyable yeona๐Ÿถ๐Ÿฆซ
๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์œ ์ผ ID ์ƒ์„ฑ๊ธฐ ์„ค๊ณ„
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”