deepflow-otel-spring-demo.yaml 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966
  1. # Copyright (c) 2022 Yunshan Networks
  2. # Licensed under the Apache License, Version 2.0 (the "License");
  3. # you may not use this file except in compliance with the License.
  4. # You may obtain a copy of the License at
  5. # http://www.apache.org/licenses/LICENSE-2.0
  6. # Unless required by applicable law or agreed to in writing, software
  7. # distributed under the License is distributed on an "AS IS" BASIS,
  8. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  9. # See the License for the specific language governing permissions and
  10. # limitations under the License.
  11. ##################################################################################################
  12. # This file defines the services, deployments, configmap, statefulsets
  13. #
  14. # To deploy full demo, you can :
  15. # kubectl apply -f springboot-otel-demo.yaml -n ${YOUR-NAMESPACE}
  16. ##################################################################################################
  17. ##################################################################################################
  18. # Namespace
  19. ##################################################################################################
  20. apiVersion: v1
  21. kind: Namespace
  22. metadata:
  23. name: deepflow-otel-spring-demo
  24. ---
  25. ##################################################################################################
  26. # Deployments
  27. ##################################################################################################
  28. apiVersion: apps/v1
  29. kind: Deployment
  30. metadata:
  31. name: svc-item
  32. namespace: deepflow-otel-spring-demo
  33. spec:
  34. replicas: 1
  35. selector:
  36. matchLabels:
  37. app: svc-item
  38. template:
  39. metadata:
  40. labels:
  41. app: svc-item
  42. version: latest
  43. spec:
  44. affinity:
  45. podAntiAffinity:
  46. preferredDuringSchedulingIgnoredDuringExecution:
  47. - weight: 100
  48. podAffinityTerm:
  49. labelSelector:
  50. matchExpressions:
  51. - key: app
  52. operator: In
  53. values:
  54. - svc-item
  55. - svc-order
  56. - svc-stock
  57. - svc-user
  58. - web-shop
  59. - loadgenerator
  60. - db-demo
  61. - nacos
  62. topologyKey: "kubernetes.io/hostname"
  63. containers:
  64. - name: svc-item
  65. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_mydemo-item:1.0
  66. command:
  67. - sh
  68. args:
  69. - /home/docker-entrypoint.sh
  70. - '-javaagent:/sidecar/agent/opentelemetry-javaagent.jar'
  71. - '-Dotel.resource.attributes=service.name=item-svc'
  72. - '-Dotel.traces.exporter=otlp'
  73. - '-jar'
  74. - /home/item-service-0.0.1-SNAPSHOT.jar
  75. imagePullPolicy: IfNotPresent
  76. env:
  77. - name: SERVICE_HOST
  78. valueFrom:
  79. fieldRef:
  80. fieldPath: status.podIP
  81. - name: SERVICE_PORT
  82. value: "20880"
  83. - name: SW_AGENT_NAME
  84. value: spring-svc-item
  85. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  86. value: http://otel-agent.open-telemetry:4317
  87. ports:
  88. - containerPort: 20880
  89. volumeMounts:
  90. - name: sidecar
  91. mountPath: /sidecar
  92. - name: config
  93. mountPath: /home/application.yml
  94. subPath: application.yml
  95. initContainers:
  96. - name: sidecar
  97. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/opentelemetry-javaagent:1.15.0
  98. command:
  99. - /bin/sh
  100. args:
  101. - '-c'
  102. - cp -R /opentelemetry/agent /sidecar/
  103. volumeMounts:
  104. - name: sidecar
  105. mountPath: /sidecar
  106. volumes:
  107. - name: sidecar
  108. emptyDir: {}
  109. - configMap:
  110. name: item-service
  111. name: config
  112. ---
  113. apiVersion: apps/v1
  114. kind: Deployment
  115. metadata:
  116. name: svc-order
  117. namespace: deepflow-otel-spring-demo
  118. spec:
  119. replicas: 1
  120. selector:
  121. matchLabels:
  122. app: svc-order
  123. template:
  124. metadata:
  125. labels:
  126. app: svc-order
  127. version: latest
  128. spec:
  129. affinity:
  130. podAntiAffinity:
  131. preferredDuringSchedulingIgnoredDuringExecution:
  132. - weight: 100
  133. podAffinityTerm:
  134. labelSelector:
  135. matchExpressions:
  136. - key: app
  137. operator: In
  138. values:
  139. - svc-item
  140. - svc-order
  141. - svc-stock
  142. - svc-user
  143. - web-shop
  144. - loadgenerator
  145. - db-demo
  146. - nacos
  147. topologyKey: "kubernetes.io/hostname"
  148. containers:
  149. - name: svc-order
  150. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_mydemo-order:1.0
  151. command:
  152. - sh
  153. args:
  154. - /home/docker-entrypoint.sh
  155. - '-javaagent:/sidecar/agent/opentelemetry-javaagent.jar'
  156. - '-Dotel.resource.attributes=service.name=order-svc'
  157. - '-Dotel.traces.exporter=otlp'
  158. - '-jar'
  159. - /home/order-service-0.0.1-SNAPSHOT.jar
  160. imagePullPolicy: IfNotPresent
  161. env:
  162. - name: MYSQL_HOST
  163. value: "db-demo"
  164. - name: SERVICE_HOST
  165. valueFrom:
  166. fieldRef:
  167. fieldPath: status.podIP
  168. - name: SERVICE_PORT
  169. value: "20880"
  170. - name: SW_AGENT_NAME
  171. value: spring-svc-order
  172. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  173. value: http://otel-agent.open-telemetry:4317
  174. ports:
  175. - containerPort: 20880
  176. volumeMounts:
  177. - name: sidecar
  178. mountPath: /sidecar
  179. initContainers:
  180. - name: sidecar
  181. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/opentelemetry-javaagent:1.15.0
  182. command:
  183. - /bin/sh
  184. args:
  185. - '-c'
  186. - cp -R /opentelemetry/agent /sidecar/
  187. volumeMounts:
  188. - name: sidecar
  189. mountPath: /sidecar
  190. volumes:
  191. - name: sidecar
  192. emptyDir: {}
  193. - configMap:
  194. name: order-service
  195. name: config
  196. ---
  197. apiVersion: apps/v1
  198. kind: Deployment
  199. metadata:
  200. name: svc-stock
  201. namespace: deepflow-otel-spring-demo
  202. spec:
  203. replicas: 1
  204. selector:
  205. matchLabels:
  206. app: svc-stock
  207. template:
  208. metadata:
  209. labels:
  210. app: svc-stock
  211. version: latest
  212. spec:
  213. affinity:
  214. podAntiAffinity:
  215. preferredDuringSchedulingIgnoredDuringExecution:
  216. - weight: 100
  217. podAffinityTerm:
  218. labelSelector:
  219. matchExpressions:
  220. - key: app
  221. operator: In
  222. values:
  223. - svc-item
  224. - svc-order
  225. - svc-stock
  226. - svc-user
  227. - web-shop
  228. - loadgenerator
  229. - db-demo
  230. - nacos
  231. topologyKey: "kubernetes.io/hostname"
  232. containers:
  233. - name: svc-stock
  234. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_mydemo-stock:1.0
  235. command:
  236. - sh
  237. args:
  238. - /home/docker-entrypoint.sh
  239. - '-javaagent:/sidecar/agent/opentelemetry-javaagent.jar'
  240. - '-Dotel.resource.attributes=service.name=stock-svc'
  241. - '-Dotel.traces.exporter=otlp'
  242. - '-jar'
  243. - /home/stock-service-0.0.1-SNAPSHOT.jar
  244. imagePullPolicy: IfNotPresent
  245. env:
  246. - name: SERVICE_HOST
  247. valueFrom:
  248. fieldRef:
  249. fieldPath: status.podIP
  250. - name: SERVICE_PORT
  251. value: "20880"
  252. - name: SW_AGENT_NAME
  253. value: spring-svc-stock
  254. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  255. value: http://otel-agent.open-telemetry:4317
  256. ports:
  257. - containerPort: 20880
  258. volumeMounts:
  259. - name: sidecar
  260. mountPath: /sidecar
  261. - name: config
  262. mountPath: /home/application.yml
  263. subPath: application.yml
  264. initContainers:
  265. - name: sidecar
  266. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/opentelemetry-javaagent:1.15.0
  267. command:
  268. - /bin/sh
  269. args:
  270. - '-c'
  271. - cp -R /opentelemetry/agent /sidecar/
  272. volumeMounts:
  273. - name: sidecar
  274. mountPath: /sidecar
  275. volumes:
  276. - name: sidecar
  277. emptyDir: {}
  278. - configMap:
  279. name: stock-service
  280. name: config
  281. ---
  282. apiVersion: apps/v1
  283. kind: Deployment
  284. metadata:
  285. name: svc-user
  286. namespace: deepflow-otel-spring-demo
  287. spec:
  288. replicas: 1
  289. selector:
  290. matchLabels:
  291. app: svc-user
  292. template:
  293. metadata:
  294. labels:
  295. app: svc-user
  296. version: latest
  297. spec:
  298. affinity:
  299. podAntiAffinity:
  300. preferredDuringSchedulingIgnoredDuringExecution:
  301. - weight: 100
  302. podAffinityTerm:
  303. labelSelector:
  304. matchExpressions:
  305. - key: app
  306. operator: In
  307. values:
  308. - svc-item
  309. - svc-order
  310. - svc-stock
  311. - svc-user
  312. - web-shop
  313. - loadgenerator
  314. - db-demo
  315. - nacos
  316. topologyKey: "kubernetes.io/hostname"
  317. containers:
  318. - name: svc-user
  319. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_mydemo-user:1.0
  320. command:
  321. - sh
  322. args:
  323. - /home/docker-entrypoint.sh
  324. - '-javaagent:/sidecar/agent/opentelemetry-javaagent.jar'
  325. - '-Dotel.resource.attributes=service.name=user-svc'
  326. - '-Dotel.traces.exporter=otlp'
  327. - '-jar'
  328. - /home/user-service-0.0.1-SNAPSHOT.jar
  329. imagePullPolicy: IfNotPresent
  330. env:
  331. - name: MYSQL_HOST
  332. value: "db-demo"
  333. - name: SERVICE_HOST
  334. valueFrom:
  335. fieldRef:
  336. fieldPath: status.podIP
  337. - name: SERVICE_PORT
  338. value: "20880"
  339. - name: SW_AGENT_NAME
  340. value: spring-svc-user
  341. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  342. value: http://otel-agent.open-telemetry:4317
  343. ports:
  344. - containerPort: 20880
  345. volumeMounts:
  346. - name: sidecar
  347. mountPath: /sidecar
  348. - name: config
  349. mountPath: /home/application.yml
  350. subPath: application.yml
  351. initContainers:
  352. - name: sidecar
  353. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/opentelemetry-javaagent:1.15.0
  354. command:
  355. - /bin/sh
  356. args:
  357. - '-c'
  358. - cp -R /opentelemetry/agent /sidecar/
  359. volumeMounts:
  360. - name: sidecar
  361. mountPath: /sidecar
  362. volumes:
  363. - name: sidecar
  364. emptyDir: {}
  365. - configMap:
  366. name: user-service
  367. name: config
  368. ---
  369. apiVersion: apps/v1
  370. kind: Deployment
  371. metadata:
  372. name: web-shop
  373. namespace: deepflow-otel-spring-demo
  374. spec:
  375. replicas: 1
  376. selector:
  377. matchLabels:
  378. app: web-shop
  379. template:
  380. metadata:
  381. labels:
  382. app: web-shop
  383. version: latest
  384. spec:
  385. affinity:
  386. podAntiAffinity:
  387. preferredDuringSchedulingIgnoredDuringExecution:
  388. - weight: 100
  389. podAffinityTerm:
  390. labelSelector:
  391. matchExpressions:
  392. - key: app
  393. operator: In
  394. values:
  395. - svc-item
  396. - svc-order
  397. - svc-stock
  398. - svc-user
  399. - web-shop
  400. - loadgenerator
  401. - db-demo
  402. - nacos
  403. topologyKey: "kubernetes.io/hostname"
  404. containers:
  405. - name: web-shop
  406. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_mydemo-shopweb:1.0
  407. command:
  408. - sh
  409. args:
  410. - /home/docker-entrypoint.sh
  411. - '-javaagent:/sidecar/agent/opentelemetry-javaagent.jar'
  412. - '-Dotel.resource.attributes=service.name=shop-web'
  413. - '-Dotel.traces.exporter=otlp'
  414. - '-jar'
  415. - /home/shop-web-0.0.1-SNAPSHOT.jar
  416. imagePullPolicy: IfNotPresent
  417. ports:
  418. - containerPort: 8090
  419. env:
  420. - name: SW_AGENT_NAME
  421. value: spring-svc-webshop
  422. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  423. value: http://otel-agent.open-telemetry:4317
  424. volumeMounts:
  425. - name: sidecar
  426. mountPath: /sidecar
  427. initContainers:
  428. - name: sidecar
  429. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/opentelemetry-javaagent:1.15.0
  430. command:
  431. - /bin/sh
  432. args:
  433. - '-c'
  434. - cp -R /opentelemetry/agent /sidecar/
  435. volumeMounts:
  436. - name: sidecar
  437. mountPath: /sidecar
  438. volumes:
  439. - name: sidecar
  440. emptyDir: {}
  441. ---
  442. apiVersion: apps/v1
  443. kind: Deployment
  444. metadata:
  445. name: loadgenerator
  446. namespace: deepflow-otel-spring-demo
  447. spec:
  448. replicas: 1
  449. selector:
  450. matchLabels:
  451. app: loadgenerator
  452. template:
  453. metadata:
  454. labels:
  455. app: loadgenerator
  456. version: latest
  457. spec:
  458. affinity:
  459. podAntiAffinity:
  460. preferredDuringSchedulingIgnoredDuringExecution:
  461. - weight: 100
  462. podAffinityTerm:
  463. labelSelector:
  464. matchExpressions:
  465. - key: app
  466. operator: In
  467. values:
  468. - svc-item
  469. - svc-order
  470. - svc-stock
  471. - svc-user
  472. - web-shop
  473. - loadgenerator
  474. - db-demo
  475. - nacos
  476. topologyKey: "kubernetes.io/hostname"
  477. containers:
  478. - name: loadgenerator
  479. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_loadgenerator:latest
  480. env:
  481. - name: FRONTEND_ADDR
  482. value: web-shop:8090
  483. - name: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
  484. value: http://otel-agent.open-telemetry:4317
  485. - name: OTEL_RESOURCE_ATTRIBUTES
  486. value: service.name=loadgenerator
  487. - name: USERS
  488. value: '1'
  489. ##################################################################################################
  490. # StatefulSets
  491. ##################################################################################################
  492. ---
  493. apiVersion: apps/v1
  494. kind: StatefulSet
  495. metadata:
  496. name: db-demo
  497. namespace: deepflow-otel-spring-demo
  498. spec:
  499. replicas: 1
  500. serviceName: db-demo
  501. selector:
  502. matchLabels:
  503. app: db-demo
  504. template:
  505. metadata:
  506. labels:
  507. app: db-demo
  508. version: 5.7.18
  509. spec:
  510. affinity:
  511. podAntiAffinity:
  512. preferredDuringSchedulingIgnoredDuringExecution:
  513. - weight: 100
  514. podAffinityTerm:
  515. labelSelector:
  516. matchExpressions:
  517. - key: app
  518. operator: In
  519. values:
  520. - svc-item
  521. - svc-order
  522. - svc-stock
  523. - svc-user
  524. - web-shop
  525. - loadgenerator
  526. - db-demo
  527. - nacos
  528. topologyKey: "kubernetes.io/hostname"
  529. containers:
  530. - name: db-demo
  531. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_mydemo-mysql:1.0
  532. imagePullPolicy: IfNotPresent
  533. env:
  534. - name: MYSQL_ROOT_PASSWORD
  535. value: "123"
  536. ports:
  537. - containerPort: 3306
  538. readinessProbe:
  539. exec:
  540. command: ["mysql", "-hlocalhost", "-uroot", "-p123", "-P3306", "--database", "skywalking", "-e", "SELECT 1"]
  541. initialDelaySeconds: 15
  542. periodSeconds: 5
  543. timeoutSeconds: 2
  544. ---
  545. apiVersion: apps/v1
  546. kind: StatefulSet
  547. metadata:
  548. name: nacos
  549. namespace: deepflow-otel-spring-demo
  550. spec:
  551. replicas: 1
  552. serviceName: nacos
  553. selector:
  554. matchLabels:
  555. app: nacos
  556. template:
  557. metadata:
  558. labels:
  559. app: nacos
  560. version: 1.1.4
  561. spec:
  562. affinity:
  563. podAntiAffinity:
  564. preferredDuringSchedulingIgnoredDuringExecution:
  565. - weight: 100
  566. podAffinityTerm:
  567. labelSelector:
  568. matchExpressions:
  569. - key: app
  570. operator: In
  571. values:
  572. - svc-item
  573. - svc-order
  574. - svc-stock
  575. - svc-user
  576. - web-shop
  577. - loadgenerator
  578. - db-demo
  579. - nacos
  580. topologyKey: "kubernetes.io/hostname"
  581. containers:
  582. - name: nacos
  583. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_mydemo-nacos-server:1.1.4
  584. imagePullPolicy: IfNotPresent
  585. env:
  586. - name: MYSQL_HOST
  587. value: "db-demo"
  588. - name: MODE
  589. value: standalone
  590. ports:
  591. - containerPort: 8848
  592. readinessProbe:
  593. httpGet:
  594. path: /nacos
  595. port: 8848
  596. initialDelaySeconds: 3
  597. periodSeconds: 5
  598. timeoutSeconds: 2
  599. ---
  600. ##################################################################################################
  601. # ConfigMaps
  602. ##################################################################################################
  603. apiVersion: v1
  604. data:
  605. application.yml: |
  606. spring:
  607. main:
  608. allow-bean-definition-overriding: true
  609. output:
  610. ansi:
  611. enabled: always
  612. application:
  613. name: item
  614. nacos:
  615. address: ${NACOS_HOST:localhost}:8848
  616. dubbo:
  617. filter:
  618. application: # see com.alibaba.dubbo.config.ApplicationConfig
  619. id: ${application.name}-srv
  620. name: ${application.name}-srv
  621. qosEnable: false
  622. protocol: # see com.alibaba.dubbo.config.ProtocolConfig
  623. id: rest
  624. name: rest
  625. host: ${SERVICE_HOST:localhost} # Use POD IP to register Dubbo service
  626. port: ${SERVICE_PORT:20880}
  627. threads: 3
  628. iothreads: 1
  629. server: netty
  630. client: netty
  631. status: server
  632. serialization: fst
  633. queues: 0
  634. keepAlive: true
  635. registry: # see com.alibaba.dubbo.config.RegistryConfig
  636. address: nacos://${nacos.address}
  637. check: false
  638. provider:
  639. cluster: failfast
  640. retries: 0
  641. loadbalance: roundrobin
  642. timeout: 10000
  643. filter: ${dubbo.filter}
  644. zipkin:
  645. server: ${zipkin.base-url}/api/v2/spans
  646. connectTimeout: 5000
  647. readTimeout: 5000
  648. kind: ConfigMap
  649. metadata:
  650. name: item-service
  651. namespace: deepflow-otel-spring-demo
  652. ---
  653. apiVersion: v1
  654. data:
  655. application.yml: |
  656. spring:
  657. main:
  658. allow-bean-definition-overriding: true
  659. output:
  660. ansi:
  661. enabled: always
  662. datasource:
  663. driver-class-name: ${mysql.driver-class}
  664. url: jdbc:mysql://${mysql.host}:${mysql.port}/${db.order}?connectTimeout=3000&socketTimeout=10000&characterEncoding=utf8&useTimezone=true&serverTimezone=Asia/Shanghai&useSSL=false${jdbc.interceptors}
  665. username: ${mysql.user}
  666. password: ${mysql.password}
  667. application:
  668. name: order
  669. nacos:
  670. address: ${NACOS_HOST:localhost}:8848
  671. dubbo:
  672. filter:
  673. application: # see com.alibaba.dubbo.config.ApplicationConfig
  674. id: ${application.name}-srv
  675. name: ${application.name}-srv
  676. qosEnable: false
  677. protocol: # see com.alibaba.dubbo.config.ProtocolConfig
  678. id: rest
  679. name: rest
  680. host: ${SERVICE_HOST:localhost} # Use POD IP to register Dubbo service
  681. port: ${SERVICE_PORT:20883}
  682. threads: 3
  683. iothreads: 1
  684. server: netty
  685. client: netty
  686. status: server
  687. serialization: fst
  688. queues: 0
  689. keepAlive: true
  690. registry: # see com.alibaba.dubbo.config.RegistryConfig
  691. address: nacos://${nacos.address}
  692. check: false
  693. provider:
  694. cluster: failfast
  695. retries: 0
  696. loadbalance: roundrobin
  697. timeout: 10000
  698. filter: ${dubbo.filter}
  699. consumer:
  700. filter: ${dubbo.filter}
  701. # Fault tolerance. Options: failover/failfast/failsafe/failback/forking
  702. cluster: failfast
  703. # Load balancing strategy. Options: random, roundrobin(polling), leastactive(invoking least active service)
  704. loadbalance: roundrobin
  705. druid:
  706. defaultAutoCommit: true
  707. defaultTransactionIsolation: 2
  708. initialSize: 1
  709. maxActive: 3
  710. maxWait: 10000
  711. minIdle: 1
  712. validationQuery: /* ping */ select 1
  713. testOnBorrow: false
  714. testOnReturn: false
  715. testWhileIdle: true
  716. timeBetweenEvictionRunsMillis: 60000
  717. minEvictableIdleTimeMillis: 1800000
  718. removeAbandoned: true
  719. removeAbandonedTimeout: 1800
  720. logAbandoned: true
  721. mybatis: # see MybatisProperties.class in mybatis-spring-boot-autoconfigure
  722. mapperLocations: classpath:mappers/*.xml
  723. seata:
  724. enabled: true
  725. application-id: ${application.name}
  726. tx-service-group: my_demo_gtx
  727. config:
  728. type: nacos
  729. nacos:
  730. namespace:
  731. serverAddr: ${nacos.address}
  732. registry:
  733. type: nacos
  734. nacos:
  735. cluster: default
  736. server-addr: ${nacos.address}
  737. namespace:
  738. zipkin:
  739. server: ${zipkin.base-url}/api/v2/spans
  740. connectTimeout: 5000
  741. readTimeout: 5000
  742. kind: ConfigMap
  743. metadata:
  744. name: order-service
  745. namespace: deepflow-otel-spring-demo
  746. ---
  747. apiVersion: v1
  748. data:
  749. application.yml: |
  750. spring:
  751. main:
  752. allow-bean-definition-overriding: true
  753. output:
  754. ansi:
  755. enabled: always
  756. application:
  757. name: stock
  758. nacos:
  759. address: ${NACOS_HOST:localhost}:8848
  760. dubbo:
  761. filter:
  762. application: # see com.alibaba.dubbo.config.ApplicationConfig
  763. id: ${application.name}-srv
  764. name: ${application.name}-srv
  765. qosEnable: false
  766. protocol: # see com.alibaba.dubbo.config.ProtocolConfig
  767. id: rest
  768. name: rest
  769. host: ${SERVICE_HOST:localhost} # Use POD IP to register Dubbo service
  770. port: ${SERVICE_PORT:20881}
  771. threads: 3
  772. iothreads: 1
  773. server: netty
  774. client: netty
  775. status: server
  776. serialization: fst
  777. queues: 0
  778. keepAlive: true
  779. registry: # see com.alibaba.dubbo.config.RegistryConfig
  780. address: nacos://${nacos.address}
  781. check: false
  782. provider:
  783. cluster: failfast
  784. retries: 0
  785. loadbalance: roundrobin
  786. timeout: 10000
  787. filter: ${dubbo.filter}
  788. zipkin:
  789. server: ${zipkin.base-url}/api/v2/spans
  790. connectTimeout: 5000
  791. readTimeout: 5000
  792. kind: ConfigMap
  793. metadata:
  794. name: stock-service
  795. namespace: deepflow-otel-spring-demo
  796. ---
  797. apiVersion: v1
  798. data:
  799. application.yml: |
  800. mysql:
  801. driver-class: com.mysql.jdbc.Driver
  802. host: ${MYSQL_HOST:localhost}
  803. port: ${MYSQL_PORT:3306}
  804. user: mydemo
  805. password: mydemo
  806. db:
  807. order: mydemo-dn1
  808. user: mydemo-dn1
  809. jdbc:
  810. interceptors:
  811. nacos:
  812. address: ${NACOS_HOST:localhost}:8848
  813. spring:
  814. main:
  815. allow-bean-definition-overriding: true
  816. output:
  817. ansi:
  818. enabled: always
  819. datasource:
  820. driver-class-name: ${mysql.driver-class}
  821. url: jdbc:mysql://${mysql.host}:${mysql.port}/${db.user}?connectTimeout=3000&socketTimeout=10000&characterEncoding=utf8&useTimezone=true&serverTimezone=Asia/Shanghai&useSSL=false${jdbc.interceptors}
  822. username: ${mysql.user}
  823. password: ${mysql.password}
  824. application:
  825. name: user
  826. dubbo:
  827. filter:
  828. application: # see com.alibaba.dubbo.config.ApplicationConfig
  829. id: ${application.name}-srv
  830. name: ${application.name}-srv
  831. qosEnable: false
  832. protocol: # see com.alibaba.dubbo.config.ProtocolConfig
  833. id: rest
  834. name: rest
  835. host: ${SERVICE_HOST:localhost} # Use POD IP to register Dubbo service
  836. port: ${SERVICE_PORT:20882}
  837. threads: 3
  838. iothreads: 1
  839. server: netty
  840. client: netty
  841. status: server
  842. serialization: fst
  843. queues: 0
  844. keepAlive: true
  845. registry: # see com.alibaba.dubbo.config.RegistryConfig
  846. address: nacos://${nacos.address}
  847. check: false
  848. provider:
  849. cluster: failfast
  850. retries: 0
  851. loadbalance: roundrobin
  852. timeout: 10000
  853. filter: ${dubbo.filter}
  854. druid:
  855. defaultAutoCommit: true
  856. defaultTransactionIsolation: 2
  857. initialSize: 1
  858. maxActive: 3
  859. maxWait: 5000
  860. minIdle: 1
  861. validationQuery: /* ping */ select 1
  862. testOnBorrow: false
  863. testOnReturn: false
  864. testWhileIdle: true
  865. timeBetweenEvictionRunsMillis: 60000
  866. minEvictableIdleTimeMillis: 1800000
  867. removeAbandoned: true
  868. removeAbandonedTimeout: 1800
  869. logAbandoned: true
  870. mybatis: # see MybatisProperties.class in mybatis-spring-boot-autoconfigure
  871. mapperLocations: classpath:mappers/*.xml
  872. seata:
  873. enabled: true
  874. application-id: ${application.name}
  875. tx-service-group: my_demo_gtx
  876. config:
  877. type: nacos
  878. nacos:
  879. namespace:
  880. serverAddr: ${nacos.address}
  881. registry:
  882. type: nacos
  883. nacos:
  884. cluster: default
  885. server-addr: ${nacos.address}
  886. namespace:
  887. zipkin:
  888. server: ${zipkin.base-url}/api/v2/spans
  889. connectTimeout: 5000
  890. readTimeout: 5000
  891. mydemo:
  892. hostname: ${HOSTNAME:localhost}
  893. kind: ConfigMap
  894. metadata:
  895. name: user-service
  896. namespace: deepflow-otel-spring-demo
  897. ---
  898. ##################################################################################################
  899. # Services
  900. ##################################################################################################
  901. kind: Service
  902. apiVersion: v1
  903. metadata:
  904. name: nacos
  905. namespace: deepflow-otel-spring-demo
  906. spec:
  907. type: ClusterIP
  908. ports:
  909. - name: http-nacos
  910. port: 8848
  911. targetPort: 8848
  912. selector:
  913. app: nacos
  914. ---
  915. kind: Service
  916. apiVersion: v1
  917. metadata:
  918. name: web-shop
  919. namespace: deepflow-otel-spring-demo
  920. spec:
  921. type: ClusterIP
  922. ports:
  923. - name: http-shop
  924. port: 8090
  925. targetPort: 8090
  926. selector:
  927. app: web-shop
  928. ---
  929. kind: Service
  930. apiVersion: v1
  931. metadata:
  932. name: db-demo
  933. namespace: deepflow-otel-spring-demo
  934. spec:
  935. type: ClusterIP
  936. ports:
  937. - name: mysql
  938. port: 3306
  939. targetPort: 3306
  940. selector:
  941. app: db-demo