jeeconf 2015

32
“Hey, I’ve seen something like it before!” 1

Upload: maxim-ivanov

Post on 12-Aug-2015

477 views

Category:

Technology


0 download

TRANSCRIPT

“Hey, I’ve seen something like it before!”

1

2

15+ лет коммерческой разработки основная часть проектов связана с JEE организатор IT-ивентов в Новосибирске

@ivanenok [email protected] Laximo

А чего мы тут собрались?

Решить кто такой архитекторОбсудить популярные ошибки Разобраться что такое “хайп” Обсудить цикличность развития Посмотреть на велосипеды Как правильно лажать в архитектуре Потроллить и Поговорить

3

4

5

6

7

Маленькое время ответа

Гибкие структуры данных

Уменьшение времени разработки

Пере-носимость

Масштабируемость решений

8

9

10

Чем “плохи” существующие хранилища?

дорогие транзакции

фиксированые структуры данных

проблемы с кластеризацией

11

Что такое FLAT FILES?

Одна из концепций хранения Типичный пример dBase || и другие Работа с файловой системой Гибкие структуры - protobuf, Thrift Простое портированиеМасштабируемость

12

Что выбрать для проекта?

13

зависит от задачи и нужного профиля

зависит от соотношения чтений/записей

универсального совета не существует

зависит от объемов данных в момент времени

{ "_id": "acc12345", "amount": 1000.0, "contact_info": { "name": "Peter", "address": { "country": "Russia", "city": "Novosibirsk" } }, "company_info": { "name": "Pont Inc", "address": { "country": "Russia", "city": "Novosibirsk" } }}

14

{ "_id": "acc12345", "amount": 1000.0, "contact_info": "1", "company_info": "1"}

15

{ "id": "1", "name": "Peter", "address": { "country": "1", "city": "1" } }

{ "id": "1", "name": "Pont Inc", "address": { "country": "1", "city": "1" } }

{ "id": "1", “country": "Russia"}

{ "id": "1", "city": "Novosibirsk"}

16

изолированность слабая связанность легкая тестируемость переиспользование

17

Что такое микросервис?WAR, EARJARPackageClass

18

Что такое микросервис?WAR, EARJARPackageClass

19

Что такое микросервис?WAR, EARJARPackageClass

20

Что такое микросервис?WAR, EARJARPackageClass

21

22

23

OMG: Oh, My God или Object Management Group?

24

Что такое компонента?

CORBA

SOAPCOM

DCOM

SOA

EJB

Spring

25

Components vs Objects Objects Components

метафоры реального мира абстракции для протоколов

акцент на представлении акцент на уменьшении связности

уровень дизайна кода уровень архитектуры

оверинжиниринг паттернами упрощение структуры

26

А зачем мне это знать?

JMS Event Services

JPA Peristence Service

RMI IIOP

JNDI Naming Service

27

Storage

“Плохая” монолитна структура

28

Storage

“Правильная” структура с микросервисами

29

Storage

“Правильная” структура с микросервисами

30

И как быть?Мода – это удовлетворение амбиций инженеров

Инженерия – это решение задач подходящими инструментами

Собирайте решение из того, что точно работает

Перед ответом на вопрос, “КАК делать?”, поймите, “ЧТО, нужно сделать”

Универсальной таблетки не существует!

31

Спасибо за внимание. Q/A.

32