고등학생이 하는 유료 서비스로 돈을 좀 벌어서 많이 썼어요.
지역 사회 홍보
풋소년 통과한 통과자, 미성년자에 도전하고 싶은 커뮤니티를 시작합니다!약 12명의 통과자와 채팅, 질문!부디🙏
왜 하는 거지?
전(4년 전)께부터 무료 디스코드의 낭독봇이 존재했지만, 하나하나 이용 인원이 너무 많아 제한이 있거나 낭독 속도가 느려지는 문제 등이 있었다.그래서 유료 낭독 봇을 운영하기로 했다.
요금 체계
매달 500엔/20만 자의 예매표가 필요하다.Google claud text to speech를 사용했지만 이 비용은 1600엔/100만 자이기 때문에 20만 자이면 320엔 정도입니다.만약 거기에 서버비가 필요하다면, 나는 이렇게 하는 것이 비교적 타당하다고 생각한다.
언어 개발
Bot
여러 Bot 간에 설정을 즉시 반영해야 하므로 내부적으로 Go+Echo의 API가 사용됩니다.또한 Bot 호스트는 Rust+Serenity를 사용합니다.
애초 파이톤에 적혀 있었으나 파이톤의 디스커버드 API Wrapper 개발이 끝났고, 왜 하루 메모리 사용량이 5%가량 상승하는지에 대한 문제로 다시 썼다.
이어 F#로 쓰려고 했지만 API Wrapper가 움직이지 않자 Rust 사용을 포기했다.
Web
Next.js+Firebase를 사용합니다.Firebase Firestore의 성격과 잘 어울리는 React를 쓰고 싶어서요.
이전에는 Nuxt였습니다.js도 사용했지만 쓰기를 좋아하지 않아서 사용하지 않았습니다.
데이터베이스
데이터베이스에는 Firestore가 사용됩니다.Bot에서는 Redis 캐시를 사용합니다.
클라우드 SQL도 고민했는데 비용이 너무 비싸서 포기했어요.
신탁 통치
Bot
Bot의 호스트는 ECS on EC2(보존 인스턴스)를 사용합니다.지금은 T3micro 한 대만 운행하고 있지만 현금흐름이 증가할 가능성이 있기 때문에 메모리만 늘리고 싶어요...
Web
Vercel의 Pro 계획을 활용하고 있습니다.Hobby랑 뭐가 다른지 몰라서 Hobby를 뽑고 싶었는데 수익목적이라 어쩔 수 없었어요...
요금 시스템
Stripe를 사용하고 있습니다.Stripe Checkout을 사용하고 Billing Portal도 사용합니다.
자신이 만든 것보다 쉽고 예쁜 사이트를 만들 수 있기 때문에 앞으로도 계속 이용하고 싶다.
은행 송금은 매월 1일로 설정된다.
Stripe의 Webhook을 Firebase Function으로 구축하여 유료 또는 취소 또는 지불이 실패할 때 Firestore를 자동으로 업데이트합니다.
CI/CD
Giithub Actions를 사용하여 Docker Image Build에서 ECR push, ECS Service 업데이트에 이르기까지
ECS CLI의 Compoose mode를 활용하므로 json을 하나씩 업데이트할 필요가 없으므로 편리합니다.
release.yml
ecs-cli compose create --cluster-config bardconfig --ecs-profile bard
aws ecs update-service --cluster MainBardCluster --service Main --task-definition ecs
logging
log의 수집은kibana+elasticsearch 자체 호스트로 수집합니다.오라클의 ARM 인스턴스(메모리 24GB, 4vCPU)는 무료로 사용하기 때문에 사용이 상당히 안정적이다.Oracle 스타일...
읽은 문자 수와 메모리 사용률을 도형으로 표시합니다.
지식 등
Docker 컨테이너의 메모리 사용률을 알고 싶습니다!
/sys/fs/cgroup/memory/memory.usage_in_bytes
에 쓰여 있다.Giithub Action이 너무 길어요.
Rust의 빌딩이 상당한 시간이 걸렸기 때문에 이용했다cargo-chef.
로컬 테스트를 할 때buildkit의cache를 사용합니다.
COPY Cargo.toml Cargo.lock ./
COPY src ./src
RUN \
cargo install --path .
FROM runner
COPY /usr/local/cargo/bin/bard .
보조학교에 가입하는 사람이 아무리 해도 늘지 않는다
나는 트위터 계정을 개설하고 note 기사를 써서 유도를 고려했다.
또 다른 상당히 흔한 사람들의 기사에 PV를 적었다.
덕분에 지난 4일 1∼2명의 스텝으로 subsc를 추가했습니다.
앞으로 하고 싶은 거.
해외 발전
해외 서버도 사용할 수 있도록 i18n 대응을 하고 싶습니다.
새로운 기능의 개발
수능이 끝날 때까지 보수적인 점검만 할 수 있기 때문에 대학수학능력시험이 끝나면 새로운 기능을 개발하려고 한다.
toB용 Discord Bot 만들기
최근 기업들이 디스코드(Discord)를 사용하는 경우가 많아졌지만, 기업을 대상으로 한 디스코드봇을 본 적이 없어 시장 개척 여부를 검토하고 있다.기업 대상 디스코드봇 사건이 있으면 꼭 연락 주세요.
Reference
이 문제에 관하여(고등학생이 하는 유료 서비스로 돈을 좀 벌어서 많이 썼어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/sizumita/articles/b7dcf43d64dead텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)