@vGrabko99
html, css, js, php, golang, mysql

Что будет быстрее работать?

Привет. Интересует что быстрее будет работать

1. Монолит который в себе содержит все вызовы API + nginx
func main() {
	router := httprouter.New()

	router.GET("/users/save", kontrollers.***)
        router.GET("/users/auth", kontrollers.***)
        //около 20 методов для работы с юзерами
        router.GET("/users/exit", kontrollers.***)

       router.GET("/email/new", kontrollers.***)
       //примерно 40 методов для лс

	log.Fatal(http.ListenAndServe(":80", router))
}

2. Несколько приложений которое поделено по модулям API (модуль который работает с юзерамы и модуль который работает с лс) и они во едино связаны nginx-ом
func main() {
	router := httprouter.New()
	router.GET("/save", kontrollers.***)
        router.GET("/auth", kontrollers.***)
        //около 20 методов для работы с юзерами
        router.GET("/exit", kontrollers.***)
	log.Fatal(http.ListenAndServe(":8051", router))
}


func main() {
	router := httprouter.New()

      router.GET("/new", kontrollers.***)
       //примерно 40 методов для лс

	log.Fatal(http.ListenAndServe(":8052", router))
}


NGINX
location /users/ {
        proxy_pass http://localhost:8051;
    }
    location /mail/ {
        proxy_pass http://localhost:8051;
    }


Конечно же этих модулей будет больше 20. И около 500 методов
  • Вопрос задан
  • 456 просмотров
Решения вопроса 3
Исходя из того, что каждое соединение будет в своей горутине, монолит будет работать быстрее, потому как 1 GC будет (для нескольких потребуется больше ресурсов железа). Да и поддерживать монолит проще. И деплоить тоже. НО! Если собираетесь быстро расти, лучше делайте несколько модулей (микросервисов) - проще будет потом горизонтально масштабироваться.
Ответ написан
@kshvakov
Делайте все в одном, с кучей отдельных только замучаетесь, а толку от них никакого
Работать "одинаково" будет
Ответ написан
@abcyu
Разработчик
На небольшом проекте монолит быстрее.
А отдельные - после достижения большой сложности, можно будет лучше оптимизировать по производительности.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы