Abstract
Microservices based architecture is a promising middleware architecture of Internet of things for its advantages of agility and scalability. However, comparing to the native Service oriented Architecture (SOA), the widespread nature, no matter logically or physically, of this lightweight middleware system has made its organization, tracing and monitoring much harder, which could further compromise the effectiveness and performance. To this end, we design, implement and evaluate a new distributed monitoring system for microservices-based middleware of Internet of Things, which is designed as a cloud native system. This system is featured with supporting Kubernetes orchestration, instrument Java and Spring Cloud framework and owing the ability to obtain the performance metrics from all host and containers in an efficient way. Furthermore, it could collect the trace generated by a call from application frontend to each layered microservices, even fetching logging, and finally store them in a big data system for stream processing or map/reduce. The real implementation based evaluation has demonstrated the effectiveness of this system design.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Microservices. http://microservices.io
Docker. https://www.docker.com
Sigelman, B.H.: Dapper, a Large-Scale Distributed Systems Tracing Infrastructure. Google (2010). https://research.google.com/archieve/papers/dapper-2010-1.pdf
OpenZipkin. http://zipkin.io
OpenTracing. http://opentracing.io
Verma, A.: Large-scale cluster management at Google with Borg. Google (2015). https://research.google.com/pubs/archive/43438.pdf
Prometheus. https://prometheus.io
Github. https://github.com/tangfeixiong/go-to-docker/tree/master/metering
Kubernetes. https://kubernetes.io
cAdvisor. https://github.com/google/cadvisor
heapster. https://github.com/kubernetes/heapster
Docker Compose. https://github.com/dockre/compose
OpenTSDB. http://opentsdb.net
The OpenTracing Semantic Specification. https://github.com/opentracing/specification
ElasticSearch. https://www.elastic.co/products/elasticsearch
Kafka. https://kafka.apache.org
Protocol Buffer. https://developers.google.com/protocol-buffers
gRPC. https://grpc.io
Redis. https://redis.io
Spring Framework. https://projects.spring.io/spring-framework
Spring Boot. https://projects.spring.io/spring-boot
Apache thrift. https://thrift.apache.org
Spring Cloud Netflix. https://cloud.spring.io/spring-cloud-netflix
Apache spark. http://spark.apache.org
Murphy, N.: Site Reliability Engineering. O’Reilly Media, Sebastopol (2016). http://shop.oreilly.com/product/0636920041528.do
Balalaie, A., Heydarnoori, A., Jamshidi, P.: Migrating to cloud-native architectures using microservices: an experience report. In: Celesti, A., Leitner, P. (eds.) ESOCC Workshops 2015. CCIS, vol. 567, pp. 201–215. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-33313-7_15
Wolff, E.: Microservices: Flexible Software Architectures. CreateSpace Independent Publishing Platform (2016)
Xiao, Z., Wijegunaratne, I., Qiang, X.: Reflections on SOA and microservices. In: 4th International Conference on Enterprise Systems (ES), pp. 60–67 (2016)
Kratzke, N., Quint, P.-C.: Understanding cloud-native applications after 10 years of cloud computing - a systematic mapping study. J. Syst. Softw. 126, 1–16 (2017)
Fowler, M.: Microservices resource guide (2016). http://martinfowler.com/microservices
Richards, M.: Microservices Vs Service-oriented Architecture. O’Reilly Media, Sebastopol (2015)
Cerny, T., Donahoo, Michael J.: Survey on concern separation in service integration. In: Freivalds, R.M., Engels, G., Catania, B. (eds.) SOFSEM 2016. LNCS, vol. 9587, pp. 518–531. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49192-8_42
Cerny, M., Donahoo, J., Pechanec, J.: Disambiguation and comparison of soa, microservices and self-contained systems. In: Proceedings of the International Conference on Research in Adaptive and Convergent Systems, RACS 2017, pp. 228–235. ACM, New York (2017)
Josuttis, N.: Soa in Practice. O’Reilly Media, Sebastopol (2007)
Conway, M.E.: How do committees invent. Datamation 14(4), 28–31 (1968)
Shelby, Z., Hartke, K., Bormann, C.: The Constrained Application Protocol (CoAP) (2014). http://coap.technology/
Message Queue Telemetry Transport (MQTT). http://mqtt.org
OneM2Â M Alliance. http://onem2m.org
Zhao, Y., Wu, J., Li, W., Lu, S., Chen, B.: Navigation-driven handoff minimization in wireless networks. Wirel. Commun., Mob. Comput. (2017)
FI-WARE project. http://fi-ware.org
Havlik, D. et al.: Future Internet enablers for VGI applications (2013)
Chang, W., Jie, W.: Progressive or conservative: rationally allocate cooperative work in mobile social networks. IEEE Trans. Parallel Distrib. Syst. 26(7), 2020–2035 (2015)
Chang, W., Jie, W., Tan, C.C.: Improving cooperative trajectory mapping applications with encounter-based error correction. Int. J. Parallel Emergent Distrib. Syst. 29(1), 68–89 (2014)
Fielding, R.T.: Architectural styles and the design of network-based software architectures. Ph.D. dissertation, University of California, Irvine (2000)
Zhao, Y., Li, W., Wu, J., Lu, S.: Quantized conflict graphs for wireless network optimization. In: IEEE Conference on Computer Communications (INFOCOM 2015), Hong Kong, April 26–30, 2015
Theodoridis, E., Mylonas, G., Chatzigiannakis, I.: Developing aniot smart city framework. In: Fourth International Conference on Information, Intelligence, Systems and Applications (IISA) 2013, pp. 1–6, July 2013
ALMANAC project Web site. www.almanacproject.eu/
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Kang, R., Zhou, Z., Liu, J., Zhou, Z., Xu, S. (2018). Distributed Monitoring System for Microservices-Based IoT Middleware System. In: Sun, X., Pan, Z., Bertino, E. (eds) Cloud Computing and Security. ICCCS 2018. Lecture Notes in Computer Science(), vol 11063. Springer, Cham. https://doi.org/10.1007/978-3-030-00006-6_43
Download citation
DOI: https://doi.org/10.1007/978-3-030-00006-6_43
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-00005-9
Online ISBN: 978-3-030-00006-6
eBook Packages: Computer ScienceComputer Science (R0)