【发布时间】:2019-08-28 18:05:37
【问题描述】:
我正在研究微服务概念。 我做了一个小演示,了解单体应用程序和微服务应用程序之间的区别。 (架构上的差异也是如此。酷!) 演示:使用了spring-boot、Eureka、spring-cloud,它使用了客户端服务发现。
我还尝试了解客户端与服务器端的服务发现。 后来我苦苦挣扎,发现很难理解两者之间的技术差异...... 来自单体应用的 API 调用。以及来自另一个微服务应用程序的微服务调用。 (就像窗帘下面/后面实际发生的事情)
例如, 考虑一下单体应用程序中的以下 API。可以从另一个单体应用程序中使用。/micorservice
A) 获取 API:http://127.0.0.1:8080/projects 作为传统的 REST API,它是我所知道的和我们所期望的。
考虑这个来自微服务应用程序(例如,Eureka 客户端)的 API
B-initial) GET API:http://localhost:18082/products 后来转化为服务发现用途
B-新) http://product-info-service:18082/products
据我观察,Eureka Server 在其服务注册表中包含这些服务名称。 每当任何已注册的 Eureka 客户端使用其特定的“服务名称”请求上述微服务时,eurekaServer 都会进行查找,如果找到完美匹配则解析并转发请求,然后处理请求。
我的担忧: 那么,这里内部发生的一切都一样吗?是单体还是微服务? 我的意思是,微服务中的发现服务器是否像 API 一样在内部调用特定的微服务? 还是单体 API 调用与微服务服务调用不同?或者它只是一个抽象。
PS:还在学习中,如果我在这里问任何模糊或困惑的事情时犯了错误,请提前道歉。请纠正我。谢谢
我的 git-hub 链接:https://github.com/aniketrb-github/microservices 我关注的内容是 JavaBrains
【问题讨论】:
标签: java spring-boot microservices spring-cloud netflix-eureka