Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[venus-market] add proxy for venus-market / venus-market支持前置代理 #5677

Open
1 of 11 tasks
hunjixin opened this issue Jan 30, 2023 · 0 comments · May be fixed by ipfs-force-community/droplet#270
Open
1 of 11 tasks
Labels
C-enhancement Category: feature enhancement C-ux-change Category: ux change that need attentions (CLI, config, database, folder structure) P3 Low - not important right now

Comments

@hunjixin
Copy link
Contributor

链服务模块 / Chain Service Components

  • venus
  • venus-auth
  • venus-gateway
  • venus-messager
  • venus-miner
  • 文档 / docs

订单服务模块 / Deal Service Components

  • venus-market
  • 文档 / docs

算力服务模块 / Storage Power Service Components

  • venus-sector-manager
  • venus-worker
  • 文档 / docs

描述 / Description

动机

单一market承载能力比较有限, 如果存储检索的比较多, 会导致同时服务的客户请求比较少。 目前可以通过配置来限制检索请求的数量,但是这会导致个别请求长时间在排队状态。 如果放大服务数量,可能会导致机器承受不了,因此这里希望通过这个代理把请求分配到多个venus-market, 这样可以支持更多的检索请求,带来更好的检索体验。

设计

类似nginx,增加一个libp2p代理服务器,通过代理服务器把请求转发到下面的各个market服务器上。

实现

参考boost https://github.com/filecoin-project/boost/tree/main/protocolproxy

需要代理的协议如下(可能不全)

	//storage
		storagemarket.AskProtocolID,
		storagemarket.OldAskProtocolID,

		storagemarket.DealProtocolID110,
		storagemarket.DealProtocolID101,
		storagemarket.DealProtocolID111,

		storagemarket.OldDealStatusProtocolID,
		storagemarket.DealStatusProtocolID,

		//retrieval
		retrievalmarket.QueryProtocolID,
		retrievalmarket.OldQueryProtocolID,

		network.ProtocolGraphsync_1_0_0,
		network.ProtocolGraphsync_2_0_0,

需要增强的部分

  1. 代理服务器和market服务器之间连接的维持。 market服务器断开连接后,代理服务器能够进行重连。
  2. 代理服务器需要能够支持libp2p常用设置
  3. 代理服务器考虑annonce 地址的问题
@hunjixin hunjixin added the C-enhancement Category: feature enhancement label Jan 30, 2023
@Fatman13 Fatman13 added the C-ux-change Category: ux change that need attentions (CLI, config, database, folder structure) label Jan 30, 2023
@hunjixin hunjixin linked a pull request Feb 2, 2023 that will close this issue
5 tasks
@elvin-du elvin-du added the P3 Low - not important right now label Jun 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category: feature enhancement C-ux-change Category: ux change that need attentions (CLI, config, database, folder structure) P3 Low - not important right now
Projects
Status: No status
Development

Successfully merging a pull request may close this issue.

3 participants