차세대로 빨리 가야 할 것 같습니다.
페이지 정보
본문
현재 다모앙은 그누보드5 (PHP)를 사용하고 있습니다.
제가 음대생일 떄 소소하게 시작한 음악커뮤니티 뮤지아 (https://muzia.net ) 는 현재 21년 째 취미로 운영하고 있으며,
아래와 같은 CMS를 사용하다가 그누보드로 정착했습니다.
- html + 슈퍼보드
- 제로보드
- 테크노트 CGI
- 테크노트 PHP
- 그누보드 + 아미나 빌더 (현재 나리야)
저는 제 인생에 이렇게 큰 커뮤니티를 운영하게 될 줄을 상상도 하지 못했습니다.
지금도 앙실장님 젤리님 개발자 디스코드 , 1기 운영진분들
가장 중요한 회원님들 도움이 아니면 절대 절대 절대 저 혼자 운영할 수 없는 규모가 되어 버렸습니다.
그누보드가 정통이 있고 오래된 CMS (컨텐츠 메니지먼트 시스템) 이지만 세션이 꼬이는 듯 안정성을 보장 할 수 없습니다.
@룩키 님께서 DB 튜닝을 해주시고 디스코드 개발자 분들께서 서버에 무리를 주는 쿼리들을 제거하거나 수정하는 방법으로 지금까지 잘 버텨오고 있습니다.
하루에 한번 이상씩 문제가 발생하여 오늘 부터 본격적으로 차세대를 준비하려고 합니다.
대한민국의 인력풀이 많은 개발 언어는 java + spring boot 프레임워크입니다.
하지만 가장 빠르게 구현 할 수 있는것은 그누보드 6 (python) 버전으로 시작하여 새로운 줄기로 그누보드와 별개의 길을 하려고 계획하고 있습니다. 기존 사이트는 신규기능을 추가 하는 것보단 유지보수를 우선으로 하고 하루 빨리 새로운 버전을 시작하겠습니다.
다모앙이 한 두달 뒤면 10만명이 되고, 몇 달 후면 지금 보다 규모가 10배 이상이 될텐데
앙실장님 , 젤리님, 개발자 디스코드 방에 계신 개발자 그룹분들 그리고 모든 회원님들께서
하루 하루가 외줄타는 것처럼 서버가 무사히 돌아가기를 간절히 간절히 바라면서 일상생활을 하고 있습니다.
Next 제너레이션 다모앙을 기대 하며 , 힘차게 글 리젠을 높여 보아요
(하지만) 로그인도 잘 안되고? 글 쓰기 하면 오류가 자주 나시죠???
네 알아요 , 저도 그렇거든요
(이렇게 말씀 드려 정말 죄송합니다...ㅠㅠ)
항상 감사드립니다.
지푸라기님의 댓글
다모앙은 집단지성으로 다양한 분들이 협업을 하고 계신데
이런경우 동일한 파일일 열고 작업하다가 충돌이 날 수도 있고
코드가 복잡해져서 코드 시안성도 나빠지고 개선이 필요해보입니다.
가급적 차세대는 Rest API를 이용하여 데이터를 처리하면 좋겠습니다.
그래야 확장성도 좋아지고 front/back이 확실히 분리되어 유지관리도 용이하지 않을까요^^;
LinusPauling님의 댓글
화이팅입니다!
1830m님의 댓글
그런데 차세대를 하면서도 그누보드 기반으로 하신다면 결국 지금과 비슷한 문제를 내재하게 되지 싶은데요,
완전하게 제로 베이스에서 새로 시작하시는 것도 생각해보시는게 좋지 싶습니다.
저도 파이썬 기반의 서비스를 운영중인데요 저희쪽 핵심 기반 소프트웨어 및 아키텍쳐 스택을 약간 소개해보자면
(모든 외부 소스는 항상 latest를 유지합니다)
python3
fastapi
redis(main) + mongodb(sub) + elasticsearch(search)
aws
ec2 + route53 + elastic load balance + s3 (+cloud front(cdn))
fastapi 가 swagger 문서 생성이 자동으로 지원되서 fe 협업하기가 편합니다.
모든 데이터는 기본적으로 redis를 사용하는데 용량이 많은 데이터는 mongodb에서 관리합니다.
(서로 논리적으로만 연결되어 있습니다)
검색은 elasticseach에 복사본을 생성해둡니다. (마찬가지로 다른 db와 커플링이 없습니다)
k8s 는 저랑 좀 안 맞아서 모든 코드는 ec2에서 네이티브로 실행하고 ec2의 확장은
쉘스크립트(+ aws cli) 로 관리합니다.
aws 쓰는 김에 네트웍 인프라 서비스도 aws 제품을 그냥 사용하고 있습니다. 관리가 편해서 좋네요.
아참 중요한 부분...
저희 서비스는 웹 페이지는 거의 없어서 (앱입니다)
웹 fe는 따로 분리하지 않고 be에서 처리하는데 2가지 방식으로 처리합니다.
1. 완전한 바닐라 html 파일에서 바닐라 js 만으로 페이지 컨트롤.
> 이 때는 fastapi 를 사용하지 않고 flask 로 라우팅 컨트롤만 합니다.
2. fastapi 에서 html 페이징을 렌더링 > mako 사용
> 최대한 바닐라 html에 가까운 라이브러리를 찾다보니 저게 나오더군요.
이 방식이 별로 나쁘지 않은 점이 장황한 바닐라 html 코드를 전부 chatgpt 에서 생성하기 때문입니다.
(chatgpt가 없었다면 이런 식의 스택은 구성하지 못했을겁니다)
몇년에 걸쳐서 기반 언어를 바꿔왔는데요.
(java > nodejs > typescript > python ... )
생산성 면에서 파이썬이 가장 좋았습니다. 그리고 최근에는 ai 협업 할 일이 꽤 있는데,
별다른 복잡한 과정 없이 ai 쪽 코드를 네이티브 라이브러리 형태로 사용하고 있어서 사용감이 좋습니다.
loveMom님의 댓글
역시 태생부터 인터넷 커뮤니티의 혁명을 보여주는 다모앙답습니다. (삭제된 이모지)
@룩키 룩키님 db 튜닝 재능기부 중인 줄 첨 알았어요. 감사합니다^^