MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap
Revision 11 as of 2019-04-09 12:39:52
  • MicroServices

MicroServices

https://dzone.com/articles/microservices-communication-zuul-api-gateway-1 The crux of the microservices pattern is to create an independent service which can be scaled and deployed independently.

  • http://microservices.io/patterns/index.html

  • Monolithic architecture - architect an application as a single deployable unit

  • Microservice architecture - architect an application as a collection of loosely coupled, services

  • Decompose by business capability - define services corresponding to business capabilities

  • Remote Procedure Invocation - use an RPI-based protocol for inter-service communication (RMI, .Net Remoting , REST (JSON), SOAP (XML)

  • Messaging - use asynchronous messaging for inter-service communication (JMS, RabbitMQ, Message broker)

  • API gateway - a service that provides each client with unified interface to services

  • Client-side discovery - client queries a service registry to discover the locations of service instances

  • Server-side discovery - router queries a service registry to discover the locations of service instances

  • Service registry - a database of service instance locations

  • Self registration - service instance registers itself with the service registry

  • Circuit Breaker - invoke a remote service via a proxy that fails immediately when the failure rate of the remote call exceeds a threshold

  • Command Query Responsibility Segregation (CQRS) - Split the application into two parts: the command-side and the query-side. The command-side handles create, update, and delete requests and emits events when data changes. The query-side handles queries by executing them against one or more materialized views that are kept up to date by subscribing to the stream of events emitted when data changes. CRUD, command handles CUD and query the R.

Base components

  • service registry (service instances locations)
    • eureka 1.x Services register with Eureka and then send heartbeats to renew their leases every 30 seconds.
  • service instance (instances on demand)
  • api gateway (route requests to service instances) zuul
  • https://thenewstack.io/api-gateways-age-microservices/

kubernetes

  • https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/

Kubernetes has a number of features. It can be thought of as:

  • a container platform
  • a microservices platform
  • a portable cloud platform and a lot more.

Kubernetes provides a container-centric management environment. It orchestrates computing, networking, and storage infrastructure on behalf of user workloads. This provides much of the simplicity of Platform as a Service (PaaS) with the flexibility of Infrastructure as a Service (IaaS), and enables portability across infrastructure providers.

The New Way is to deploy containers based on operating-system-level virtualization rather than hardware virtualization. These containers are isolated from each other and from the host: they have their own filesystems, they can’t see each others’ processes, and their computational resource usage can be bounded. They are easier to build than VMs, and because they are decoupled from the underlying infrastructure and from the host filesystem, they are portable across clouds and OS distributions.

Loosely coupled, distributed, elastic, liberated micro-services: Applications are broken into smaller, independent pieces and can be deployed and managed dynamically – not a monolithic stack running on one big single-purpose machine.

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01