Ответ
Плюсы:
- Простота разработки и деплоя (один код, одна база)
- Легче обеспечить согласованность данных (ACID транзакции)
- Проще отладка и тестирование (все компоненты в одном месте)
- Меньше накладных расходов на межсервисное взаимодействие
Минусы:
- Сложность масштабирования (нужно масштабировать весь монолит)
- Замедление разработки по мере роста (сильная связанность кода)
- Риск "хрупкости" (изменения могут ломать неожиданные части)
- Ограничения в выборе технологий (все компоненты на одном стеке)
Пример монолита на Go:
package main
import (
"net/http"
"github.com/gorilla/mux"
)
func main() {
r := mux.NewRouter()
r.HandleFunc("/users", GetUsers).Methods("GET")
r.HandleFunc("/orders", GetOrders).Methods("GET")
http.ListenAndServe(":8080", r)
}
func GetUsers(w http.ResponseWriter, r *http.Request) {
// логика работы с пользователями
}
func GetOrders(w http.ResponseWriter, r *http.Request) {
// логика работы с заказами
} Видео-ответы
▶
РЕАЛЬНОЕ СОБЕСЕДОВАНИЕ SENIOR PHP BACKEND РАЗРАБОТЧИКА В МТС (330к)
▶
Тестовое собеседование Java разработчика #31 - Вадим Пыско
▶
Моковое собеседование на Middle системного аналитика | Solvery & На собесе как на танцполе
▶
PHP-разработчик хочет перейти на Python, т.к в нём он как рыба в воде? / Техсобес Middle Python Dev
▶
Почти Senior или ...? / Техсобес на позицию Middle Python Developer / Mock interview
▶
Моковое собеседование на Middle системного аналитика | Solvery & На собесе как на танцполе
▶
Собеседование middle backend php
▶
Разработка. СОБЕСЕДОВАНИЕ Middle DevOps инженера. Часть 3.
▶
НЕРЕАЛЬНОЕ собеседование Junior QA Тестировщик Python
▶
Собеседование на позицию Системного аналитика