乐优商城第二天(Springcloud上)

本文讲述了乐优商城项目第二天的学习内容,主要涉及系统架构的演进、微服务中的服务调用方式、HTTP请求处理、模拟服务提供者和消费者,以及重点讲解了Springcloud的注册中心Eureka的搭建和使用。
摘要由CSDN通过智能技术生成

Today is 乐优商城的第二天,学习了系统架构的发展,微服务和springcloud的Eureka,每天学新东西都是多的,但是一想到我们的项目不是淘淘商城了,是一个全新的项目,就充满希望,想把这个全新的项目学好。

一.系统架构的演进

1.集中式架构,所有的模块都耦合在一起

2.垂直拆分,分家,各模块相对独立,但是每一个模块都直接和数据库打交道,产生了很多重复的工作

3.分布式服务,将系统的基础服务进行抽取,各个业务都可以调用这些服务,提高了代码服用和开发效率。但是缺乏统一管理,相当于每一个模块都是直接和那些基础服务打交道的。导致关系错综复杂。

4.SOA面向服务,有一个统一的注册中心来管理服务。

5.微服务,服务拆分的更小。

二.服务调用的方式

既然发展到微服务,那么服务之间是怎么通信的?

两种方式:1.RPC和Http

RPC远程服务调用,将请求序列化,通过网络传输,在接收端进行反序列化解析,拿到参数,执行方法,再将结果序列化返回

Http则通过http协议进行通信,信息封装在请求行,请求头,请求体中。

从三个方向比较

1.速度 RPC速度更快

2.难度 RPC更难实现,http简单

3.灵活度 http通过rest风格的链接相互调用,RPC需要更服务之间用相同的语言,因为传入的参数,方法可以接手。并且约定好序列化和反序列化的方式

我们追求自由,不喜欢收到多的限制,所以我们选择基于Http的Rest风格的服务。


三.JAVA代码如何处理HTTP请求?(Http客户端工具)

主流有三种:

  • HttpClient

  • OKHttp

  • URLConnection

客服端发送请求http请求,并接受响应。这里以HttpClient为例,看java代码中如何使用HttpClient发送http请求的

在使用HttpClient之前,需要先创建对象

CloseableHttpClient httpClient;

@Before
public void init() {
    httpClient = HttpClients.createDefault();
}

如果是get请求,发送请求request得到响应response

HttpGet request = new HttpGet("http://localhost:8081/list");
String response = 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值