воскресенье, 27 ноября 2011 г.
четверг, 17 ноября 2011 г.
среда, 16 ноября 2011 г.
Top 10 Reasons Java Programs Envy Scala
"Top 10 Reasons Java Programs Envy Scala"
Черт побери!
Это действительно те вещи, которых мне не хватает в java по несколько раз в день ...
P.S. Для пользования презентацией надо интенсивно использовать zoom in/zoom out.
Черт побери!
Это действительно те вещи, которых мне не хватает в java по несколько раз в день ...
P.S. Для пользования презентацией надо интенсивно использовать zoom in/zoom out.
Ярлыки:
scala
понедельник, 7 ноября 2011 г.
10 Core Architecture Pattern Variations for Achieving Scalability
10 Core Architecture Pattern Variations for Achieving Scalability
LB (Load Balancers) + Shared nothing Units. Units that do not share anything with each other fronted with a load balancer that routes incoming messages to a unit based on some criteria.
LB + Stateless Nodes + Scalable Storage. Several stateless nodes talking to a scalable storage, and a load balancer distributes load among the nodes.
Peer to Peer Architectures (Distributed Hash Table (DHT) and Content Addressable Networks (CAN)). Algorithm for scaling up logarithmically.
Distributed Queues. Queue implementation (FIFO delivery) implemented as a network service.
Publish/Subscribe Paradigm. Network publish subscribe brokers that route messages to each other.
Gossip and Nature-inspired Architectures. Each node randomly pick and exchange information with follow nodes.
Map Reduce/ Data flows. Scalable pattern to describe and execute Jobs.
Tree of responsibility. Break the problem down recursively and assign to a tree, each parent node delegating work to children nodes.
Stream processing. Process data streams, data that is keeps coming.
Scalable Storages. Ranges from Databases, NoSQL storages, Service Registries, to File systems.
P.S. Thanks highscalability.com for link.
LB (Load Balancers) + Shared nothing Units. Units that do not share anything with each other fronted with a load balancer that routes incoming messages to a unit based on some criteria.
LB + Stateless Nodes + Scalable Storage. Several stateless nodes talking to a scalable storage, and a load balancer distributes load among the nodes.
Peer to Peer Architectures (Distributed Hash Table (DHT) and Content Addressable Networks (CAN)). Algorithm for scaling up logarithmically.
Distributed Queues. Queue implementation (FIFO delivery) implemented as a network service.
Publish/Subscribe Paradigm. Network publish subscribe brokers that route messages to each other.
Gossip and Nature-inspired Architectures. Each node randomly pick and exchange information with follow nodes.
Map Reduce/ Data flows. Scalable pattern to describe and execute Jobs.
Tree of responsibility. Break the problem down recursively and assign to a tree, each parent node delegating work to children nodes.
Stream processing. Process data streams, data that is keeps coming.
Scalable Storages. Ranges from Databases, NoSQL storages, Service Registries, to File systems.
P.S. Thanks highscalability.com for link.
пятница, 30 сентября 2011 г.
Embedded Design Patterns
Embedded Design Patterns
еще не успел почитать, но имена архитектур для меня совершенно новы:
- Hierarchical State Machine
- State Machine Inheritance
- ...
Классика паттернов, которая используется в J2EE:
- GoF patterns
- J2EE patterns
- PEAA from Fawler
но самое вкусное - distributed/multithreaded/realtime/... patterns надо искать самому.
Кста, если кто знает еще интересные паттерны - киньте в коммент.
еще не успел почитать, но имена архитектур для меня совершенно новы:
- Hierarchical State Machine
- State Machine Inheritance
- ...
Классика паттернов, которая используется в J2EE:
- GoF patterns
- J2EE patterns
- PEAA from Fawler
но самое вкусное - distributed/multithreaded/realtime/... patterns надо искать самому.
Кста, если кто знает еще интересные паттерны - киньте в коммент.
среда, 31 августа 2011 г.
пятница, 5 августа 2011 г.
Практичные регулярки: современные движки рвут и мечут
Практичные регулярки: современные движки рвут и мечут
Пост содержит ряд дельных (как я понимаю) ссылок.
Пост содержит ряд дельных (как я понимаю) ссылок.
Ярлыки:
regexp
среда, 20 июля 2011 г.
Distributed Algorithms: Time
Тезисы к моему докладу на Java Club #2:
Многие современных "Большие Игроки" для обеспечения задачи хранения состояния в cloud-системах используют кастомные нереляционные решения:
Amazon
- SimpleDB
- Dynamo
Google
- GFS + BigTable + MapReduce
- Megastore
Yahoo
- HDFS + HBase + Hadoop
- PNUTS
Facebook
- Cassandra
Не рассматривая вызвавшие это причины, можно констатировать факт, что задача анализа реализованных или проектирования и разработки своего "in cloud" nonrelational хранилища актуальна для R&D отделов больших корпорация.
Но, в таком случае, нам придется "выйти за пределы реляционного словаря": ACID, optimistic/pessimistic locking, read uncommitted, read committed, repeatable read, serializable, two phase commit (2PL), two phase locking (2PL), normal forms, primary/foreign key...
И оперировать более фундаментальными понятиями. На основе которых, в том числе, возможно строить и реляционные решения.
Time:
- 0-d Scalar Lamport Logical Time
- 1-d Scalar Virtual Time
- 1-d Vector Time
- 2-d Matrix time
P.S. В целом про Time in Distributed Algorithms (в том числе про Vector Time) отлично прочитать Chapter #3 из книги "Distributed Computing: Principles, Algorithms, and Systems"
Многие современных "Большие Игроки" для обеспечения задачи хранения состояния в cloud-системах используют кастомные нереляционные решения:
Amazon
- SimpleDB
- Dynamo
- GFS + BigTable + MapReduce
- Megastore
Yahoo
- HDFS + HBase + Hadoop
- PNUTS
- Cassandra
Не рассматривая вызвавшие это причины, можно констатировать факт, что задача анализа реализованных или проектирования и разработки своего "in cloud" nonrelational хранилища актуальна для R&D отделов больших корпорация.
Но, в таком случае, нам придется "выйти за пределы реляционного словаря": ACID, optimistic/pessimistic locking, read uncommitted, read committed, repeatable read, serializable, two phase commit (2PL), two phase locking (2PL), normal forms, primary/foreign key...
И оперировать более фундаментальными понятиями. На основе которых, в том числе, возможно строить и реляционные решения.
Time:
- 0-d Scalar Lamport Logical Time
- 1-d Scalar Virtual Time
- 1-d Vector Time
- 2-d Matrix time
P.S. В целом про Time in Distributed Algorithms (в том числе про Vector Time) отлично прочитать Chapter #3 из книги "Distributed Computing: Principles, Algorithms, and Systems"
Подписаться на:
Сообщения (Atom)