Skip to content

Add virtual MQ showcase #88

Merged
kezhenxu94 merged 9 commits intoapache:mainfrom
pg-yang:feature/mq
Nov 13, 2022
Merged

Add virtual MQ showcase #88
kezhenxu94 merged 9 commits intoapache:mainfrom
pg-yang:feature/mq

Conversation

@pg-yang
Copy link
Member

@pg-yang pg-yang commented Nov 12, 2022

172.31.0.2:61616 is activemq server

image

image

image

@pg-yang pg-yang added the enhancement New feature or request label Nov 12, 2022
@pg-yang pg-yang requested a review from kezhenxu94 November 12, 2022 01:32
@kezhenxu94
Copy link
Member

Hi @pg-yang , can you also share the related traces? And please also update the topology in the doc.

The resource cost looks reasonable to me, it adds <= 0.1C/256M.

@pg-yang
Copy link
Member Author

pg-yang commented Nov 12, 2022

image

The traces of MQ are truncated

And I only checked docker deployment as i don't have enough resource to run k8s on my PC .

@wu-sheng
Copy link
Member

It seems the producer/consumer continues, is there an async from HTTP request to sending a message?

@pg-yang
Copy link
Member Author

pg-yang commented Nov 12, 2022

I try to create a controller to send MQ message , but it was truncated too . it seems the reason of gateway plugin .

@wu-sheng
Copy link
Member

Oh, Gateway is not a good place to do that. Spring Gateway has a lot of async. I am not sure whether you triggered something. It is better to put this logic in a simple SpringMVC Controller.

@pg-yang
Copy link
Member Author

pg-yang commented Nov 12, 2022

Yes , I have to create a new service with MQ producer or consumer

@wu-sheng
Copy link
Member

Isn't an existing Java application? Besides the gateway? If there is one, we could build a producer and consumer for the same service.

@pg-yang
Copy link
Member Author

pg-yang commented Nov 12, 2022

Only songs is java application except gateway . If build producer and consumer to songs , the topology would be loop :

%% please read this doc in our official website, otherwise the graph is not correctly rendered.
graph LR;
songs --> acvivemq

acvivemq --> songs 
Loading

@wu-sheng
Copy link
Member

I think it is fine to find a loop with mutiple endpoints. After all, we are just showing the capability

@pg-yang
Copy link
Member Author

pg-yang commented Nov 13, 2022

image

image

image

The doc

%% please read this doc in our official website, otherwise the graph is not correctly rendered.
graph LR;
  loadgen[load generator] --> ui("UI (React)") --> Traffic1("HTTP Request for backend serv") -->  apisix("APISIX as UI container")
 --> app("app server (NodeJS)") --> gateway("gateway (Spring)");
  ui("UI (React)") --> Traffic2("HTTP Request for UI codes") --> apisix("APISIX with  UI container")
  gateway --> songs("songs (Spring)") & rcmd("recommendations (Python)");
  songs --> activeMQ
  activeMQ --> songs
  rcmd --> songs;
  songs --> db("database (H2)");
Loading

@wu-sheng
Copy link
Member

@kezhenxu94 PTAL. BTW, could you revert the last change on the demo installer? As apache/skywalking#9954 had been merged, we should test whether it is fixed.

@kezhenxu94 kezhenxu94 merged commit b6c424f into apache:main Nov 13, 2022
@pg-yang pg-yang deleted the feature/mq branch November 13, 2022 01:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants