https://awesomeopensource.com/projects/game-server


์˜คํ”ˆ์†Œ์Šค ๊ฒŒ์ž„ ์„œ๋ฒ„ ์—”์ง„ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋ช‡๊ฐœ ์ฐพ์•„๋ดค๋Š”๋ฐ....

์ƒ๋‹น์ˆ˜๊ฐ€ ์ญ๊ฟ” ์—”์ง„์ด๋”๋ผ

์ด์‡ผ๋ผ๋“ค์ด ์™œ ๊ฒŒ์ž„ ์„œ๋ฒ„ ์—”์ง„ ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ๋ฐœ์— ์—ด์„ ์˜ฌ๋ฆฌ๋‚˜ ์‹ถ์–ด์„œ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ๊นŒ

์–˜๋„ค ์ธํ„ฐ๋„ท ์ •์ฑ…์ด ใ…ˆ๊ฐ™์•„์„œ, ๊ฒŒ์ž„ ์„œ๋ฒ„๊ฐ€ ํ•ด์™ธ์— ์žˆ์Œ ์•ˆ๋จ.


์ด๊ฒŒ ๋ญ” ๋ง์ด๋ƒ. Photon Pun 2 ๊ฐ™์€ ๊ฑธ ์ญ๊ฟ”๋“ค์€ ์“ธ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฑฐ์ž„.

์—ฌ๊ธฐ ์„œ๋ฒ„ ์ฐพ๋Š” ์• ๋“ค ๋งŽ์€๋ฐ ๊ดœ์ฐฎ์€ ๊ฑฐ ๋งŽ์œผ๋‹ˆ๊นŒ ํ•œ๋ฒˆ ์ฏค์€ ์‚ดํŽด๋ด๋„ ์ข‹์•„
====================================================================

https://heroiclabs.com/

์ƒ์œ„ 3๊ฐœ ์ค‘์—์„œ ๊ณ ๋ฅธ ๊ฑด ์ด๊ฑฐ์ž„. Nakama ์—”์ง„

1์œ„์ธ Kbengine์€ ์‚ฌ์ดํŠธ๊ฐ€ ์งฑ๊ฐœ์–ด๋ฐ–์— ์—†์–ด์„œ ๊ฑธ๋ €๊ณ 

2์œ„๋Š” ์‚ฌ์ดํŠธ ์กฐ์ฐจ ์—†์–ด์„œ ๊ฑธ๋ €์—‰.

๋ญ ๋Œ€์ถฉ ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„ ๋„์šฐ๊ณ  ์„ค์น˜ํ•˜๋ฉด, ์•„๋ž˜์ฒ˜๋Ÿผ ์ฝ˜์†” ์‚ฌ์ดํŠธ๊ฐ€ ๋œจ๊ณ ,


๋„ค๋“ค์ด ์ข‹์•„ํ•˜๋Š” ์†Œ์บฃํ†ต์‹ ์ด๋ž‘ http API ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•จ.


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced8efa11d02831dd2ecabb386674d2cf3d2b24d0cc6341f9c77323580d94c796fa4fe8ea90fe87c9840fc3a1677dfe639394cf2c16a3c99d29ce


์„ธ๋ถ€์ ์ธ ๊ฒƒ์€ ๋ฒค์น˜๋งˆํ‚น์„ ํ•ด๋ด์•ผ ์•Œ๊ฒ ์ง€๋งŒ

Photon Pun 2์˜ ๋Œ€์ฒดํ’ˆ์ด ๋  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ•ด.



์žฅ์ ์€ docker๋ฅผ ์“ฐ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์„ค์น˜ํ•ด์„œ ์„œ๋ฒ„ ๋„์šฐ๋Š”๊ฒŒ ์‰ฌ์›Œ. ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ ์œˆ๋„์šฐ ํ™˜๊ฒฝ์—์„œ๋„ ๋„์šธ ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•„

๋ฌผ๋ก  ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ๋กœ ์ง์ ‘ ์„ค์น˜ํ•ด์„œ ์“ฐ๋Š” ๊ฒƒ๋„ ์–ด๋ ต์ง€ ์•Š์Œ. ๊ฐ€์ด๋“œ ์ž˜ ๋˜์–ด ์žˆ๋‹ค.


๋˜ํ•œ cockroachDB๋ฅผ ์ฑ„์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ด๊ฒŒ ๋ถ„์‚ฐํ˜•DB์ด๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€๊ทœ๋ชจ์˜ ์„œ๋ฒ„ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•  ๋•Œ ์ ํ•ฉํ•˜๋‹ค๋Š” ๊ฑฐ์•ผ


๋‹จ์ 

๋‹จ์ ์€ postgreSQL์„ ๋†”๋‘๊ณ  ์™œ cockroachDB๋ฅผ ์„ ํƒํ–ˆ์„๊นŒ ํ•˜๋Š” ์ ์ธ๋ฐ, Nakama์„œ๋ฒ„๋Š” ๋น„๊ณต์‹์ ์œผ๋กœ postgreSQL์„ ์ง€์›ํ•˜๊ธฐ๋Š” ํ•ด

๋น„๊ณต์‹์ ์ด๋ž€ ๋ง์€ ์žฅ์•  ์ƒ๊ธฐ๋ฉด ์•Œ์•„์„œ ํ•˜๋ผ๋Š” ๊ฑฐ์ž„ ์ฐธ์กฐ ์ž๋ฃŒ๋Š” ๋ฐ‘์— ๋งํฌ ๊ฑธ์–ด ๋†จ์œผ๋‹ˆ๊นŒ ํ•„์š”ํ•˜๋ฉด ๋ณด๊ณ ...

๊ฒฐ๊ตญ Nakama์„œ๋ฒ„์˜ ๋‹จ์ ์€ cockroachDB์˜ ๋‹จ์ ์ด ๊ทธ๋Œ€๋กœ ์˜จ๋‹ค๋Š” ๊ฑฐ์ž„.


์งง์€ ์‹œ๊ฐ„ cockroachDB์— ๋Œ€ํ•ด ์กฐ์‚ฌํ•œ๊ฑฐ๋ผ 100% ์ด๋ ‡๋‹ค๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์—†์ง€๋งŒ...

cockroachDB๋Š” ํฌ์ง€์…”๋‹์ด ๋„ˆ๋ฌด ์• ๋งคํ•ด

์ผ๋‹จ ์†Œ๊ทœ๋ชจ์˜ ๋‹จ์ผ ์„œ๋ฒ„์—์„œ๋Š” ์„ฑ๋Šฅ์ด ์ œ๋Œ€๋กœ ์•ˆ๋‚˜์™€. ์ œ๋Œ€๋กœ๋œ ํผํฌ๋จผ์Šค๋ฅผ ๋‚ด๋ ค๋ฉด db๋…ธ๋“œ๊ฐ€ 3๊ฐœ๋Š” ์žˆ์–ด์•ผ ํ•œ๋‹ค๊ณ  ํ•˜๋”๋ผ๊ณ .

๊ทผ๋ฐ ๊ทธ๋Ÿฌ๋ฉด ๋ถ„์‚ฐ ํ™˜๊ฒฝ์ด ํ•„์š”ํ•  ์ •๋„๋กœ ์š”์ฒญ๋Ÿ‰์ด ๋งŽ์€ ๊ฑธ ์ณ๋‚ผ ์ˆ˜ ์žˆ์„๊นŒ? ๊ทธ๊ฒƒ๋„ ์•„๋‹ˆ๋‹ค ์‹ถ์€๊ฒŒ

postgreSQL๋ณด๋‹ค ๋А๋ฆฌ๊ณ , Redis ๋ณด๋‹ค 20๋ฐฐ ์ •๋„ ๋А๋ฆผ. (cache memory ์„ค์ •์ด ์žˆ์Œ์—๋„...)

์ด๊ฒŒ ๋ฌด์Šจ ๋ง์ด๋ƒ๋ฉด... ๋‹จ์ˆœ ์ฃผ๋จน๊ตฌ๊ตฌ์‹ ๋น„๊ต๋ฅผ ํ•˜๊ธด ์–ด๋ ต์ง€๋งŒ

์‹ค์‹œ๊ฐ„ ๋„คํŠธ์›Œํ‚น ์„œ๋ฒ„๋ฅผ C++์ด ์•„๋‹ˆ๋ผ ์ˆœ์ˆ˜ํ•˜๊ฒŒ java ๋กœ ์งฐ์„ ๋•Œ์˜ ๋А๋ ค์ง€ ๊ฒƒ๊ณผ ๊ฐ™๋‹ค๊ณ ย ์ƒ๊ฐํ•˜๋ฉด ๋จ ^์˜ค^


๊ฒฐ๊ตญ memcache๋‚˜ redis ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ ์บ์‹œ์˜ ๋„์ž…์ด ํ•„์ˆ˜์ธ ์ƒํ™ฉ์ธ๋ฐ...

Nakama ์ด ใ……ใ„ฒ๋“ค ๋‹ต๋ณ€์ด ๊ทธ๊ฑฐ ์™œ ํ•„์š”ํ•ด??? ์ž„ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹

์‚ฌ์‹ค ๋ฐ˜์€ ๋งž๋Š” ๋ง์ธ๊ฒŒ, MMO์ฒ˜๋Ÿผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋Œ€๊ทœ๋ชจ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ฒŒ์ž„์—”์ง„์€ ์•„๋‹˜.ย 

=========================================================================================

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced8efa11d02831dd2ecabb386674d2cf3d2b24d0cc6341f9c77323580d94c796fa4fe8ea90fe87c9840fc3a1677dab35c39dc12815f4c90b7743


๊ณต์‹ ๋ฌธ์„œ ์Šค์ƒท์ธ๋ฐ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•ด.

๋‹จ์ˆœํžˆ Photon Pun2์ฒ˜๋Ÿผ ์œ ์ € ๋งค์นญํ•ด์„œ ๊ฒŒ์ž„๋ฃธ์—์„œ ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด ์ฆ๊ธฐ๊ฒŒ ํ•˜๊ณ  ๋•ก ๋์ด ์•„๋‹ˆ๋ผ

์œ ์ €๊ณ„์ • ๊ด€๋ฆฌ๋ถ€ํ„ฐ, ์นœ๊ตฌ, ๊ธธ๋“œ ๊ด€๋ฆฌ ๋“ฑ๋“ฑ ํšŒ์› ์‹œ์Šคํ…œ ์ „๋ฐ˜์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„.


๋˜ํ•œ ์žฅ์ ์€ ํŠน์ • ์—…์ฒด์˜ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์— ์ข…์†๋˜์ง€ ์•Š๊ณ ,

๋‚ด๊ฐ€ ์šด์˜ํ•˜๋Š” ์„œ๋ฒ„์— ๋„์šธ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด์•ผ

์ด๊ฒŒ ๋˜๊ฒŒ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š”๊ฒŒ ๋ฉ€๋ฆฌ ๊ฐˆ ํ•„์š”๋„ ์—†์ดย 

์œ ๋‹ˆํ‹ฐ ์ƒˆ๋ผ๋“ค์ด "๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด ์„œ๋น„์Šค ๊ฐœ์ข†๊ฐ™๋„ค์—ผ. Unet ์ข…๋ฃŒ์—ผ ใ…‹ใ…‹" ํ•œ๊ฒƒ๋งŒ ๋ด๋„ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด

์—…์ฒด์˜ ํด๋ผ์šฐ๋“œ ๊ฒŒ์ž„ ์„œ๋ฒ„ ์„œ๋น„์Šค๋ฅผ ์“ฐ๋‹ค๊ฐ€ ์—…์ฒด๊ฐ€ ์‚ฌ์—… ์ข…๋ฃŒํ•ด๋ฒ„๋ฆฌ๋ฉด

๋ฉ˜๋ถ•์— ๋น ์ง€๋Š” ๊ฑฐ์ž„.

๋”ฐ๋ผ์„œ ๊ฐ€๊ธ‰์ ์ด๋ฉด ๊ฒŒ์ž„์„œ๋ฒ„๋Š” ์ง์ ‘ ๋„์šฐ๊ณ  ๊ด€๋ฆฌํ•˜๋Š”๊ฒŒ ๋‚ซ๋‹ค๊ณ  ๋ด„.




๊ฒฐ๋ก 

์ผ๋‹จ ํ˜„์žฌ ๋‚˜๋Š” ์ด๊ฑธ ๋„์ž…ํ• ์ง€, ์ง์ ‘ ๊ตฌ์ถ•ํ• ์ง€ ๊ณ ๋ฏผ ์ค‘์ด์•ผ.

ํ˜„์žฌ ์ผ๋‹จ ์ง์ ‘ ๋งŒ๋“ค๋ ค๊ณ  ๋„์ ์ด๊ณ  ์žˆ๊ธด ํ•œ๋ฐ, ๋ชจ๋ฅด๊ฒ ์–ด.

cockroachDB๋ฅผ ์“ฐ์ง€๋Š” ์•Š์„ ๊ฑฐ ๊ฐ™๊ณ , postgreSQLํ•˜๊ณ  ์—ฐ๊ฒฐํ•ด์„œ ์“ธ๊ฑฐ ๊ฐ™์€๋ฐ

๋ฌธ์ œ๋Š” postgreSQL์„ ์จ๋ณธ ์  ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ข€ ํŒŒ๋ด์•ผ ๊ฒฌ์  ๋‚˜์˜ฌ ๊ฑฐ ๊ฐ™์Œ.

์•”ํŠผ ๊ฒŒ์ž„์„œ๋ฒ„ ๊ณ ๋ฏผํ•˜๋Š” ์‚ฌ๋žŒ์€ Nakama๋„ ๊ดœ์ฐฎ์€ ์„ ํƒ์ง€์ธ๊ฒƒ ๊ฐ™๋‹ค.







postgreSQL ๊ฐœ๋…
https://d2.naver.com/helloworld/227936

cockroachDB vs PostgreSQL ๋น„๊ต
https://tableplus.com/blog/2018/10/cockroachdb-vs-postgresql-comparison.html#:~:text=CockroachDB%20is%20a%20distributed%20SQL,%2Dconsistent%20key%2Dvalue%20store.&text=PostgreSQL%20is%20the%20advanced%2C%20open,being%20standards%2Dcompliant%20and%20extensible.


cockroachDB Cache Memory
https://www.cockroachlabs.com/blog/memory-usage-cockroachdb/#:~:text=Cache%20memory.,operations%20performed%20by%20a%20node.

cockroachDB vs Redis
https://www.cockroachlabs.com/blog/could-cockroachdb-ever-replace-redis-a-free-fridays-experiment/

cockroachDB๋ฅผ ์ฐข์–ด๋ฒ„๋ฆฐ ํ•œ๊ตญ์ธ
https://www.cockroachlabs.com/blog/could-cockroachdb-ever-replace-redis-a-free-fridays-experiment/

๋ ˆ๋””์Šค ์—ฐ๋™์— ๋Œ€ํ•œ Nakama ์˜ ๋‹ต๋ณ€ (๊ทธ๊ฒŒ ์™œ ํ•„์š”ํ•ด???)
https://forum.heroiclabs.com/t/nakama-server-multiplayer-questions/248