博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Microservices Reference Architecture - with Spring Boot, Spring Cloud and Netflix OSS--转
阅读量:7038 次
发布时间:2019-06-28

本文共 3203 字,大约阅读时间需要 10 分钟。

原文地址:https://www.linkedin.com/pulse/microservices-reference-architecture-spring-boot-cloud-anil-allewar

What is "Microservices"?

Microservices is the "new kid" on the block; a new paradigm that seeks to replace monolithic enterprise applications with a suite of small services that use lightweight mechanism like REST to communicate with each other. These services are built around business capabilities and independently deployable by fully automated deployment machinery.

The crux of microservices can be epitomized by this illustration as defined by.

Frameworks

 There are couple of frameworks available in different software ecosystems that make it easy to create distributed applications using microservices architecture.

  1. Java - 
  2. Node.js - 

The reference architecture developed by us builds on the Spring Cloud ecosystem.

There are number of components available within the Spring Cloud and Netflix OSS ecosystem that solve common problems for distributed applications (e.g. configuration management, service discovery, circuit breakers, intelligent routing etc).

Target Architecture and Components

The application consists of 8 different services that are available in .

 

  1. config-server - setup external configuration
  2. webservice-registry - Eureka server
  3. auth-server - OAuth2 authorization server
  4. user-webservice - User microservice
  5. task-webservice - Task microservice
  6. comments-webservice - Comments for task microservice
  7. api-gateway - API gateway that proxies all the microservices
  8. web-portal - Single Page Application that provides the UI

 

All the different services lend themselves to the following target architecture.

 

While there are existing samples available for using the different Spring cloud/Netflix OSS components, we did not find anything that merged all of them together to provide an enterprise architecture. Additionally the documentation is sporadic and widely distributed so it becomes hard to understand how the components interact with each other.

 

This reference architecture can be used as a starting point to understand the Microservices paradigm and then expand to scale to your architecture needs.

Considerations for building production-ready systems

 

The thought process for the reference architecture revolved around 2 concepts

  1. Making it easy enough so that beginners can understand
  2. Making it complete enough so that it can serve as the starting point of enterprise applications.

 

When you are ready to build your application with this reference architecture, keep the following things in mind

 

  1. The application uses an endpoint to check if the user is authenticated; this leads to a very chatty application. When building your system instead use the Json Web Token (JWT) wherein the token itself contains enough information for the resource server to do simple user authentication.
  2. The Single Page Application that provides the UI is part of the reference architecture, whereas applications might be better off having the SPA as separate application that just needs to interact with your distributed system and not be part of the distributed system.
  3. There are additional Netflix OSS components like Turbine, Feign and SideCar that might be applicable to your architecture.

Codebase

  1.  

转载地址:http://sxnal.baihongyu.com/

你可能感兴趣的文章
看“风水反转”技术如何危害云安全
查看>>
密码重用的危害及规避方法
查看>>
致25岁的你:看看这些IT大佬 你还会放弃你的梦想吗
查看>>
英国发明睡眠传感器,助力改善睡眠质量
查看>>
传统家电品牌布局高端智能家居
查看>>
Ponemon Institute告诉你,大数据正在勾搭网络安全
查看>>
使用Jazz Automation编写自动化测试
查看>>
松下要造懒人必备智能家居:用平板指挥微波炉
查看>>
Colt进行网络升级 提供100Gbps光纤服务
查看>>
Php常用代码数据库的连接及读取和写入
查看>>
《响应式Web设计:HTML5和CSS3实践指南》——1.5节基于媒介查询的图像缩放
查看>>
Li-Fi无线技术揭秘:Wi-Fi的补充而非替代
查看>>
C Primer Plus 第6版 编程练习 2.12 答案
查看>>
有线电视的用户信息,成为美国黑客的新目标
查看>>
物联网智慧社区 衣食住行全智能
查看>>
高性能的Python扩展:第一部分
查看>>
Qt Linguist介绍
查看>>
Qt Creator快捷键
查看>>
《C语言解惑》—— 2.2 printf输出整数或字符
查看>>
为什么在 Redis 实现 Lua 脚本事务?
查看>>