
부하 분산을 위한 MySQL Replication 구성 및 쿼리 요청 분기 Overview 내가 진행하고 있는 SNS 프로젝트를 보면 Service Layer에 속해있는 거의 모든 메소드가 데이터베이스에 쿼리 요청을 보낸다. 나의 프로젝트 뿐 아니라 대부분 웹 서비스 프로젝트를 보면 사용자 데이터를 처리하기 위해 혹은 이를 기반으로 다양한 서비스를 제공하기 위해 데이터베이스에 무수히 많은 요청을 보낸다. 현재 사용하고 있는 MySQL 서버가 고사양이더라도 서버 한 대가 웹 서버로부터 오는 모든 트래픽을 견뎌내기에는 분명히 한계점이 드러나기 마련이다. 그로 인해 데이터베이스에 장애가 발생한다면 운영 중인 서비스에 바로 큰 타격을 줄 것이다. 따라서, Replication을 사용하여 MySQL의 환경을 구축..

Django 프로젝트와 MySQL을 연결하면 settings.py에 MySQL 서버에 접속하기 위한 정보를 적게 된다. 이 프로젝트를 개인 pc에서만 사용하면 상관없지만 git에 올릴 경우, 패스워드같은 개인 정보까지 같이 올라가기 때문에 인터넷에 내 패스워드가 떠돌아다니게 된다. 이런 불상사를 막기 위해 MySQL 서버에 연결할 때 필요한 정보는 별도의 파일을 만들어 저장하고 settings.py가 이 파일을 읽어와 사용할 수 있도록 해야한다. 1. settings.py 수정 먼저 settings.py의 DATABASE 부분을 다음과 같이 MySQL 연결 정보가 담긴 파일을 읽을 수 있도록 수정해준다. 2. mysql.cnf 파일 생성 MySQL 연결 정보를 적을 파일을 생성한다. 이 때, manage..

가끔 시스템 리소스 부족으로 Django에서 자체적으로 로컬 서버 운영을 멈출 때가 있다. 그러고 다시 프로젝트를 시작해보면 다음과 같은 에러가 날 때가 있다. django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)") Django에서 MySQL 서버에 아예 접속을 하지 못하는 것이다. 이럴 때는 서버가 현재 동작하는지 확인해봐야 한다. 가장 쉬운 방법은 워크벤치에 들어가 확인하는 것. 결국 워크벤치도 MySQL 서버와 연결되어 돌아가는 것이기 때문에 서버가 동작하지 않는다면 첫 화면에 동작하지 않는다고 바로 뜬다. 먼저 워크벤치에 들어가 왼쪽의 Administration - Server S..

저번 글과 이어서 진행하도록 하겠습니다. 저번 글에서는 Django와 MySQL을 연동하는 작업까지만 하고 마쳤습니다. 이번에는 쿼리문을 작성하여 MySQL에 저장되어있는 데이터를 가져와 view에서 사용하려 합니다. MySQL을 사용하더라 도 기존에 우리가 사용한 objects.all(), objects.get() 등의 queryset을 통하여 데이터를 가져올 수 있습니다. 하지만 SQL문 을 사용하는 것이 Django 외의 프로그래밍 영역에서 활용도가 훨씬 높기 때문에 SQL문을 사용하기로 합니다. (+ SQL문 연습) 1. BookListView 변경 # 새로 import 하는 모듈 from django.db import connection def BookListView(request): # boo..

이번에는 Django와 MySQL을 연동해보려고 합니다. Django는 default 데이터베이스로 SQLite3를 사용합니다. SQLite3는 용량이 작고 가볍지만 대규모 프로젝트에서는 잘 쓰이지 않습니다. 또한 MySQL이 기본적으로 제공하는 Workbench라는 툴을 이용하면 데이터베이스를 더 쉽게 사용하 고 관리할 수 있어 굉장히 편리합니다. MySQL과 Workbench는 이미 설치되어 있다고 가정하겠습니다. 1. mysqlclient 설치 Python에서 MySQL을 사용하기 위해 우선 Python DB API 표준을 따르는 MySQL DB 모듈을 설치해야 합니다. MySQL을 지원하는 Python 모듈은 여러 가지가 있는데, 여기서는 mysqlclient 라는 모듈을 사용하기로 합니다. 먼저..
- Total
- Today
- Yesterday
- Django 댓글
- 북마크 어플리케이션
- Django 좋아요
- Django 회원 정보 수정
- Django 회원가입
- 장고
- Django 어플리케이션
- Django User
- Django application
- python
- Django 로그아웃
- Django 검색
- 서점 어플리케이션
- Django 프로젝트 생성
- Django 로그인
- 파이썬
- Django Instagram
- MySQL
- Django 해시태그
- Django
- java
- Django 업로드
- Redis Cache
- Django 팔로우
- Django 북마크
- Django 비밀번호 수정
- Django 컬렉션
- query parameter
- Django 인스타그램
- Redis
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |