Implementing microservices tracing with spring cloud and zipkin (spring one)

7.836 visualizações

Publicada em

Implementing & Integrating DistributedTracing into new and existing apps with live demos and coding.

Publicada em: Tecnologia
6 comentários
31 gostaram
Estatísticas
Notas
  • This is Dr. Wakina’s season, the season he restores joy, peace and prosperity to broken relationships/marriages. He is the one and only spiritual healing doctor that has the power to do unimaginable things with his email:- dr.wakinalovetemple@gmail.com. With big faith and trust I have on Doctor I got results 7days after some inspirational spell cast that brought my husband back and made him realize his mistake for leaving us because of misunderstanding we usually had because of his affairs with his concubine. He realized after the spell that no woman is prettier than me or any woman that can love, care and satisfy him like I do. He realized he has a beautiful and promising family. I was not afraid contacting Dr. Wakina because I know he is one of the genuine spell doctors that can bring back my better half without negative effects. I am exited you read this wonderful testimony from a happy wife and mother. I pray and wish unending joy, peace and prosperity in your relationship/marriage… cheers!
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Welcome to the illuminati world of riches and fames Possess your riches today by joining the illuminati church of Satan created and organizing by our high priest ANTON SZANDOR LAVEY who is now in the bossom of the lord Lucifer, here is an opportunity for you today to join the illuminati and make all your heart desire come to pass by contacting us today with our contact id….. email us on Bavariaillumjnatitemple@gmail.com or call or whatsapp +2348034056542 Here is the benefit of becoming a born again child of the lord Lucifer A HOUSE IN ANY COUNTRY OF YOUR CHOICE NEW BRAND CARS OF YOUR CHOICE $50000000 AS A NEW MEMBER ILLUMINATI BIBLE ILLUMINATI RING OF POWERS ILLUMINATI GARMENT $10000000 AS YOUR MONTHLY PAYMENT $5000000 EVERY WEEK AS YOUR BLESSING FROM THE LORD LUCIFER AS A BORN AGAIN CHILD INTERNATIONAL PASSPORT FOR A VISIT TO ANY COUNTRY OF YOUR CHOICE
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Nice !! Download 100 % Free Ebooks, PPts, Study Notes, Novels, etc @ https://www.ThesisScientist.com
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Contact: drocusodospellcaster@gmail.com for Urgent lottery winner Fast, VERY POWERFUL:100% GUARANTEED RESULTS I want to use this opportunity to thank Dr.OCUSODO for helping me to win the lottery.I have been playing lottery for the past 8 years now and the only big money I have ever won was 800$ ever since then I have not been able to win again and I was so upset and I need help to win the lottery so I decided to go to a friend of mine call Robert,and he introduce me to Dr. OCUSODO, there I saw so many good talk about this man called Dr. OCUSODO of how he have cast spell for people to win the lottery.I contact him also and I tell him I want to win a lottery, he cast a spell for me which I use and I play and won 80million GBP. I am so grateful to this man just in case you also need him to help you win, you can contact him through his email: drocusodospellcaster@gmail.com is my part of promise I made, that if I win I tell the word how I win my game. drocusodospellcaster@yahoo.com or also call him or what-app +2349067457724.
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • my co-worker's sister gets 64 an hour on the internet. she's been fired from a job for 11 months... the previous month her earnings was 19360 working on the internet 3 hours every day. check this page●▬▬▬▬ஜ www.rulespro.com ஜ▬▬▬▬
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
Sem downloads
Visualizações
Visualizações totais
7.836
No SlideShare
0
A partir de incorporações
0
Número de incorporações
170
Ações
Compartilhamentos
0
Downloads
272
Comentários
6
Gostaram
31
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Implementing microservices tracing with spring cloud and zipkin (spring one)

  1. 1. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Implementing Microservices Tracing with Spring Cloud and Zipkin By Reshmi Krishna @reshmi9k By Marcin Grzejszczak @mgrzejszczak
  2. 2. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ About us • Software Engineer • Platform Architect, Pivotal • Women In Tech Community Member Twitter : @reshmi9k MeetUp : Cloud Native New York http://www.meetup.com/Cloud-Native-New-York/
  3. 3. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ About us • Spring Cloud developer • Working mostly on Spring Cloud Sleuth and Spring Cloud Contract • Automation freak Twitter: @mgrzejszczak Blog: http://toomuchcoding.com
  4. 4. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Agenda • How to correlate logs with Spring Cloud Sleuth? • How to visualize latency with Spring Cloud Sleuth and Zipkin? • How to use Pivotal Cloud Foundry to deploy and integrate apps with Spring Cloud Services and Zipkin? • How to integrate Spring Cloud Sleuth and Zipkin in an existing app? • How to Investigate issues using PCF Metrics and Zipkin?
  5. 5. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ An ordinary system...
  6. 6. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ CLICK 200 Everything is awesome
  7. 7. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ CLICK 500 Until it’s not
  8. 8. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  9. 9. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ https://tonysbologna.files.wordpress.com/2015/09/mario-and-luigi.jpg?w=468&h=578&crop=1 Time to debug
  10. 10. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ It doesn’t look like this
  11. 11. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ More like this
  12. 12. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ On which server / instance was the exception thrown?
  13. 13. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ The answer: distributed tracing • Span • Trace • Logs (annotations) • Tags (binary annotations)
  14. 14. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Is context propagation simple? How do you pass tracing information (incl. Trace ID) between: • different libraries? • thread pools? • asynchronous communication? • …?
  15. 15. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Log correlation with Spring Cloud Sleuth We take care of passing tracing information between threads / libraries / contexts for: • Hystrix • RxJava • Rest Template • Feign • Messaging with Spring Integration • Zuul • ... If you don’t do anything unexpected there’s nothing you need to do to make Sleuth work. Check the docs for more info.
  16. 16. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Now let’s aggregate the logs! Instead of SSHing to the machines to grep logs lets aggregate them! • With Cloud Foundry’s (CF) Loggregator the logs from different instances are streamed into a single place • You can harvest your logs with Logstash Forwarder / FileBeat • You can use ELK stack to stream and visualize the logs
  17. 17. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Brixton.SR4</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> </dependency> Spring Cloud Sleuth with Maven
  18. 18. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ SERVICE 1 /readtimeout REQUEST BOOM! SERVICE 2 REQUEST BOOM! REQUEST BOOM!
  19. 19. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Log correlation with Spring Cloud Sleuth DEMO
  20. 20. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  21. 21. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  22. 22. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Great! We’ve found the exception! But meanwhile....
  23. 23. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ CLICK 200 The system is slow...
  24. 24. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ One of the services is slow...
  25. 25. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Which one? How to measure that? How to visualise latency in a distributed system?
  26. 26. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ The answer is: ZIPKIN
  27. 27. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ SPANS SENT TO COLLECTORS SPANS SENT TO COLLECTORS STORE IN DB APP APP UI QUERIES FOR TRACE INFO VIA API How does Zipkin work?
  28. 28. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Cloud Sleuth and Zipkin integration ● We take care of passing tracing information between threads / libraries / contexts ● Upon closing of a Span we will send it to Zipkin ○ either via HTTP (spring-cloud-sleuth-zipkin) ○ or via Spring Cloud Stream (spring-cloud-sleuth-stream) ● You can run Zipkin Spring Cloud Stream Collector as a Spring Boot app (spring-cloud-sleuth-zipkin-stream) ○ you can add the dependency to Zipkin UI!
  29. 29. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Cloud Sleuth Zipkin with Maven <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Brixton.SR4</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency>
  30. 30. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Hold it! ● If I have billion services that emit gazillion spans - won’t I kill Zipkin?
  31. 31. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Sampling to the rescue! ● By default Spring Cloud Sleuth sends only 10% of requests to Zipkin ● You can change that by changing the property spring.sleuth.sampler.percentage (for 100% pass 1.0) ● Or register a custom org.springframework.cloud.sleuth.Sampler implementation
  32. 32. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ SERVICE 1 /start REQUEST RESPONSE SERVICE 2 /foo SERVICE 3 /barREQUEST RESPONSE REQUEST RESPONSE SERVICE 4 /baz REQUEST RESPONSE SPRINGONE SERVICE /springone REQUEST RESPONSE
  33. 33. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ DEMO
  34. 34. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ AGENDA • How to use Pivotal Cloud Foundry to deploy and integrate apps with Spring Cloud Service and Zipkin? • How to integrate Spring Cloud Sleuth and Zipkin in an existing app? • How to Investigate issues using PCF Metrics and Zipkin? 34
  35. 35. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ PIvotal Cloud Foundry & Spring Cloud Services Applications Data Runtime Middleware O/S Virtualization Servers Storage Networking PCF IAAS SPRING CLOUD SERVICES V 1.1.1 CONFIG SERVER SERVICE REGISTRY CIRCUIT BREAKER
  36. 36. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Trader App Architecture Web-UI Portfolio Accounts Quotes DB DB CONFIG SERVER SERVICE REGISTRY CIRCUIT BREAKER
  37. 37. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Integrating Sleuth Stream and Zipkin Sleuth Web-UI Quotes Portofolio Account Sleuth Sleuth Sleuth Transport (MQ,HTTP) Collector Span Store Query Server Zipkin UI ZIPKIN
  38. 38. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Let’s look at some code & Demo !!!!
  39. 39. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Changes Made - Add sleuth stream and rabbit binder to build.gradle/pom.xml - Add Sleuth Sampler percentage and logging level for sleuth in config file (Config Server) - Deploy Zipkin as a service in PCF - Connect/Bind apps to the same Rabbit MQ instance as zipkin
  40. 40. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  41. 41. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  42. 42. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  43. 43. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  44. 44. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  45. 45. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  46. 46. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  47. 47. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  48. 48. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  49. 49. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  50. 50. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  51. 51. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  52. 52. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ ● Log correlation allows you to match logs for a given trace ● Distributed tracing allows you to quickly see latency issues in your system ● Zipkin is a great tool to visualize the latency graph and system dependencies ● Spring Cloud Sleuth integrates with Zipkin and grants you log correlation ● PCF makes integration of your apps and Spring Cloud Sleuth and Zipkin easier Summary
  53. 53. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ • Code for this presentation (clone and run getReadyForConference.sh - NOTE: you need Vagrant!) : https://github.com/marcingrzejszczak/vagrant-elk-box/tree/presentation • Sleuth’s documentation:http://cloud.spring.io/spring-cloud-sleuth/spring-cloud-sleuth.html • Repo with Spring Boot Zipkin server: https://github.com/openzipkin/zipkin-java • Zipkin deployed to PCF for Brewery Sample app: http://docsbrewing-zipkin-server.cfapps.io • Pivotal Web Services trial : https://run.pivotal.io/ • Trader Application : https://github.com/reshmik/cf-SpringBootTrader.git • Zipkin deployed as PCF https://github.com/reshmik/Zipkin/tree/master/spring-cloud-sleuth-samples/spring-cloud-sleu th-sample-zipkin-stream • PCF on your laptop : https://docs.pivotal.io/pcf-dev/ Links
  54. 54. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  55. 55. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Learn More. Stay Connected. https://gitter.im/spring-cloud/spring-cloud-sleuth How to Properly Blame Things for Causing Latency: An Introduction to Distributed Tracing and Zipkin by Adrian Cole @springcentral spring.io/blog @pivotal pivotal.io/blog @pivotalcf http://engineering.pivotal.io

×