Re: Опишите вашу архитектуру
От: Степанов Андрей  
Дата: 05.04.20 08:31
Оценка: 52 (4) +1
Здравствуйте, Shmj, Вы писали:

S>Интересует вопросы архитектуры .Net (Core) приложений.


S>1. Какую(ие) СУБД используете? Настроили ли кластер или сингле-инстанс и т.д. Про репликацию и т.д. расскажите, что интересного.

S>2. Есть ли разделение на Web-сервер и сервер приложений. Как взаимодействуют и т.д. Есть ли балансировщик нагрузки. Опять же — есть ли горизонтальное масштабирование Web.
S>3. Какие популярные фишки используете, типа брокера событий и т.д.
S>4. Как взаимодействуете с СУБД (какой ОРМ и т.д.), по какому принципу организовали архитектуру, используете ли CQRS?

S>И вообще интересно бы посмотреть код приложения, архитектуру которого можно взять за образец. Как продвинуться в этом направлении.


За образец мои приложения из "кровавого энтерпрайза" взять вряд ли можно Но они работают в крупных компаниях, не падают, заказчиков устраивают, деньги за них платят, так что почему бы и не рассказать. Все сделаны примерно по одному лекалу.

1) В основном MS SQL Server. Ни про кластеры СУБД, ни про репликацию ни в одном проекте (своём или чужом) не слышал. В типичном бизнес-приложении высокой нагрузки нет, да и толковые администраторы, умеющие всё настраивать, встречаются редко.
2) Как-правило, делается веб-приложение. Отдельный сервер приложений не использую. Балансировщик заказчик ставит сам на своё усмотрение (как правило NGINX). Моя задача как разработчика — сделать так, чтобы сайт работал независимо от наличия балансировщика.
3) Никаких популярных фишек. Если нет высокой нагрузки и "бигдаты", то модные фишки как правило не нужны. Грамотная структура БД, толковые индексы — нужны. А фишки — нет.
4) С СУБД работаю через Entity Framework. А если БД совсем мелкая (бывает и так, если основным поставщиком данных является сторонний сервис), то прямо ADO.NET — быстро, дёшево и сердито. Как правило, выделяю отдельный уровень доступа к данным, который скрывает все операции к нижележащим ресурсам. Хотя если проект активно работает с данными из БД, то использую напрямую Entity Framework (в конце концов это тоже уровень доступа к данным). Конечно, промежуточные слои — это здорово и правильно, но итоговый ценник красивой архитектуры заказчикам нравится крайне редко.
Re: Опишите вашу архитектуру
От: #John Европа https://github.com/ichensky
Дата: 30.11.20 20:00
Оценка: 42 (3) +1
Здравствуйте, Shmj, Вы писали:

S>Как продвинуться в этом направлении.


https://github.com/kgrzybek/modular-monolith-with-ddd


https://github.com/dotnet-architecture/eShopOnContainers


https://github.com/aspnetboilerplate/aspnetboilerplate
Підтримати Україну у боротьбі з країною-терористом.

https://prytulafoundation.org/
https://u24.gov.ua/

Слава Збройним Силам України!!! Героям слава!!!
Опишите вашу архитектуру
От: Shmj Ниоткуда  
Дата: 04.04.20 16:23
Оценка: +1
Интересует вопросы архитектуры .Net (Core) приложений.

1. Какую(ие) СУБД используете? Настроили ли кластер или сингле-инстанс и т.д. Про репликацию и т.д. расскажите, что интересного.
2. Есть ли разделение на Web-сервер и сервер приложений. Как взаимодействуют и т.д. Есть ли балансировщик нагрузки. Опять же — есть ли горизонтальное масштабирование Web.
3. Какие популярные фишки используете, типа брокера событий и т.д.
4. Как взаимодействуете с СУБД (какой ОРМ и т.д.), по какому принципу организовали архитектуру, используете ли CQRS?

И вообще интересно бы посмотреть код приложения, архитектуру которого можно взять за образец. Как продвинуться в этом направлении.
Re: Опишите вашу архитектуру
От: Vladek Россия Github
Дата: 02.12.20 08:44
Оценка: -1
Здравствуйте, Shmj, Вы писали:

S>Интересует вопросы архитектуры .Net (Core) приложений.


S>1. Какую(ие) СУБД используете? Настроили ли кластер или сингле-инстанс и т.д. Про репликацию и т.д. расскажите, что интересного.


Это вопрос интеграции.

S>2. Есть ли разделение на Web-сервер и сервер приложений. Как взаимодействуют и т.д. Есть ли балансировщик нагрузки. Опять же — есть ли горизонтальное масштабирование Web.


Это вопрос интеграции.

S>3. Какие популярные фишки используете, типа брокера событий и т.д.


Это вопрос интеграции.

S>4. Как взаимодействуете с СУБД (какой ОРМ и т.д.), по какому принципу организовали архитектуру, используете ли CQRS?


Это тривиальный вопрос.

S>И вообще интересно бы посмотреть код приложения, архитектуру которого можно взять за образец. Как продвинуться в этом направлении.


Архитектура — это твои решения, выраженные в твоём коде, который отражает суть решаемой задачи и не зависит от внешнего окружения.

Какая разница, какую субд или брокер сообщений ты выбрал? В правильно структурированной системе, это изолированные технические решения, не влияющие на систему в целом. А если ты склеиваешь готовые компоненты между собой, которые просто гоняют туда-сюда одни и те же данные из базы данных, тебе достаточно того кода, который студия нагенерит при создании проектов. Если человек, хорошо владеющий Экселем, может повторить всё, что делает твоё приложение — у тебя нет архитектуры, ты опять создал очередную обёртку для базы данных.

Почитай как устроена СУБД внутри, как пример того, что является архитектурой. https://www.amazon.com/Database-Design-Implementation-Data-Centric-Applications/dp/3030338355/

Ты задавал бы такие вопросы, если бы пришлось писать саму СУБД?

Какую файловую систему вы используете?
Консольное приложение или служба?
Используете ли вы файлы, отраженные на память?
Используете массивы или списки?

Это важные вопросы, однако они не имеют отношения к архитектуре СУБД.
Re[2]: Опишите вашу архитектуру
От: Sinclair Россия https://github.com/evilguest/
Дата: 30.11.20 05:15
Оценка:
Здравствуйте, Степанов Андрей, Вы писали:

СА>За образец мои приложения из "кровавого энтерпрайза" взять вряд ли можно Но они работают в крупных компаниях, не падают, заказчиков устраивают, деньги за них платят, так что почему бы и не рассказать. Все сделаны примерно по одному лекалу.


А расскажите, Андрей, как у вас дела с кандидатской?
Помнится, лет 15 тому назад вы интересовались вопросами согласованности в распределённых СУБД.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Опишите вашу архитектуру
От: karbofos42 Россия  
Дата: 30.11.20 09:26
Оценка:
У нас архитектура из серии: тяп-ляп и в продакшен, лишь бы работало
Re[2]: Опишите вашу архитектуру
От: Hermitap Украина  
Дата: 30.11.20 11:32
Оценка:
Здравствуйте, karbofos42, Вы писали:

K>У нас архитектура из серии: тяп-ляп и в продакшен, лишь бы работало


и главное ничего не трогайте )
Re: Опишите вашу архитектуру
От: Ночной Смотрящий Россия  
Дата: 02.12.20 10:19
Оценка:
Здравствуйте, Shmj, Вы писали:

Предыдущий/текущий продукты

S>1. Какую(ие) СУБД используете?


MSSQL/PostgreSQL, MSSQL

S> Настроили ли кластер или сингле-инстанс и т.д.


Azure SQL/Для разработки сингл-инстанс, на проде Azure SQL в облаке, БД заказчика в онпреме.

S>2. Есть ли разделение на Web-сервер и сервер приложений.


Да/Нет

S> Как взаимодействуют


REST API/REST API

S>и т.д. Есть ли балансировщик нагрузки.


Да/Да

S> Опять же — есть ли горизонтальное масштабирование Web.


Да/-

S>3. Какие популярные фишки используете, типа брокера событий и т.д.


define популярные фишки

S>4. Как взаимодействуете с СУБД (какой ОРМ и т.д.),


linq2db/linq2db

S> по какому принципу организовали архитектуру,


Вопрос непонятен

S> используете ли CQRS?


Нет/нет

S>И вообще интересно бы посмотреть код приложения, архитектуру которого можно взять за образец. Как продвинуться в этом направлении.


Есть только один способ — содавать архитектуры, а потом ловить шишки на проде.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re: Опишите вашу архитектуру
От: Алексей.  
Дата: 02.12.20 13:34
Оценка:
Здравствуйте, Shmj, Вы писали:

S>1. Какую(ие) СУБД используете? Настроили ли кластер или сингле-инстанс и т.д. Про репликацию и т.д. расскажите, что интересного.

MSSQL, кластер с дублированием.

S>2. Есть ли разделение на Web-сервер и сервер приложений. Как взаимодействуют и т.д. Есть ли балансировщик нагрузки. Опять же — есть ли горизонтальное масштабирование Web.

Разделения на web-сервер и сервер приложений нет.
Балансировщик — nginx.
Есть горизонтальное масштабирование сервисов.

S>3. Какие популярные фишки используете, типа брокера событий и т.д.

В свое время, еще до того как .Net Core и Web API стали мейнстримом, зачем-то прикрутили RabbitMQ.
Из-за этого в workflow сейчас используется асинхронный конечный автомат со всеми вытекающими отсюда последствиями.

S>4. Как взаимодействуете с СУБД (какой ОРМ и т.д.), по какому принципу организовали архитектуру,

ORM — сборная солянка: ADO .Net, EntityFramework (постепенно отказываемся), Dapper.
S>используете ли CQRS?
нет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.