View
204
Download
2
Category
Preview:
Citation preview
Componentization via ServicesOrganized around Business CapabilitiesProducts not ProjectsSmart endpoints and dumb pipesDecentralized GovernanceDecentralized Data ManagementInfrastructure AutomationDesign for failureEvolutionary Design
Microservices characteristics!
. . .
then all you are doing is shifting complexity from inside a
component to the connections between components.
. . .
it moves it to a place that's less explicit and harder to
control.
. . .
The Deployment Model is a Detail.. . .
there is no such thing as a micro-service
architecture.Micro-services are a
deployment option . . .
Componentization via ServicesOrganized around Business CapabilitiesProducts not ProjectsSmart endpoints and dumb pipesDecentralized GovernanceDecentralized Data ManagementInfrastructure AutomationDesign for failureEvolutionary Design
50% not strictly software butrather operations related!
Componentization via Services
Smart endpoints and dumb pipes
Decentralized Data Management
Design for failure
Let's focus on software related ones
OSGi services
manifestmanifestmanifest manifest
OSGi service registry
Interface
Service 1
. . .
Service N
OSGi services
manifestmanifestmanifest
OSGi service registry
REGISTER
REGISTER
USE
manifest
Interface
Service 1
. . .
Service N
OSGi services
manifestmanifest
OSGi service registry
SERVLET
SERVLET
GET GET
REGISTER
REGISTER
HTTPServiceImpl
HTTPService
HTTPServiceImpl
REGISTER
OSGi services
manifestmanifest
OSGi service registry
HTTPServlet
REGISTER
SERVLET
SERVLET
GET(when needed)
HTTPServiceImpl
Servlet1 (path=”/1”)
Servlet2 (path=”/2”)
REGISTER
applying White Board Pattern
● Componentization via Services
manifestmanifest
OSGi service registry
HTTPServlet
REGISTER
SERVLET
SERVLET
GET(when needed)
HTTPServiceImpl
Servlet1 (path=”/1”)
Servlet2 (path=”/2”)
REGISTER
Smart endpoints and dumb pipes
manifestmanifest
OSGi service registry
HTTPServlet
REGISTER
SERVLET
SERVLET
GET(when needed)
HTTPServiceImpl
Servlet1 (path=”/1”)
Servlet2 (path=”/2”)
REGISTER
no
Decentralized Data Management
manifestmanifest
OSGi service registry
HTTPServlet
REGISTER
SERVLET
SERVLET
GET(when needed)
HTTPServiceImpl
Servlet1 (path=”/1”)
Servlet2 (path=”/2”)
REGISTER
Everything
Design for failure
manifestmanifest
OSGi service registry
HTTPServlet
REGISTER
SERVLET
SERVLET
GET(when needed)
Servlet1 (path=”/1”)
Servlet2 (path=”/2”)
REGISTER
HTTPServiceImpl
Remote services
OSGi service registry
Interface
Service 1
Service 1 (remote)
OSGi service registry
Interface
Service 1
milen.dyankov@liferay.com
http://www.liferay.com/web/milen.dyankov/
@milendyankov@LiferayPL
http://www.liferay.com
@Liferay
http://www.facebook.com/Liferay
Recommended