WEBVTT 00:01.240 --> 00:05.680 So I had a lot of fun putting this course together, and I hope you found some useful content in here, 00:05.950 --> 00:10.720 and I just want to take this last lecture to point you to a few resources that you might want to investigate 00:10.720 --> 00:12.320 as time goes on. 00:13.300 --> 00:19.150 So, for example, our micro service, if you think about what happens every time we call our micro 00:19.150 --> 00:21.200 service, it works this way. 00:21.580 --> 00:24.760 We actually take some information we already have and go format. 00:25.210 --> 00:29.230 We convert it into effectively a text file in the form of JSON. 00:29.590 --> 00:35.380 We send that off to the remote service or micro service, which then captures that text file, which 00:35.380 --> 00:40.700 is Jason translates it back into something go canoe's and then it moves on and does something. 00:41.230 --> 00:46.960 So there's that whole middle part where we're taking data that's already in a go format, converting 00:46.960 --> 00:50.680 into text, then converting it back and then doing the work that's required. 00:51.250 --> 00:53.170 Well, that's actually kind of inefficient. 00:53.380 --> 00:59.050 And there is a protocol known as our P C that actually addresses this problem. 00:59.050 --> 01:04.600 And I'm not going to go through it in detail, but I will post the link to go to the course resources 01:04.600 --> 01:05.290 for this lecture. 01:05.650 --> 01:11.350 And you can have a look at and there are examples for go for C++, for Java, for Python and for others. 01:11.780 --> 01:13.640 So that's one thing you might want to look at. 01:14.770 --> 01:20.890 The other thing to bear in mind is that our micro servers, for example, it actually fires off go routines 01:20.890 --> 01:22.270 that send email. 01:22.570 --> 01:28.210 And it's entirely possible that we could shut down that application for maintenance or whatever while 01:28.210 --> 01:32.650 it's in the process of constructing in about to send an email so that email never gets sent. 01:32.650 --> 01:33.380 And that's bad. 01:33.880 --> 01:38.560 So one thing you might want to look into are signals, signals and traps. 01:38.680 --> 01:43.990 And the ones you really want to pay attention to are ones like Sigge Term where software is terminated. 01:43.990 --> 01:48.280 It sent a chill on Linux and there's an equivalent thing on Windows, of course. 01:48.970 --> 01:50.440 Well, you can actually trap for those. 01:50.470 --> 01:56.500 And I'll post a link to this page as well as to this page, which is a blog post that goes through how 01:56.500 --> 01:59.440 you can shut down worker go routines gracefully. 01:59.450 --> 02:04.750 In other words, keep the program running until all of the existing routines complete, whatever task 02:04.750 --> 02:07.090 they have to complete and then terminate the program. 02:07.330 --> 02:10.780 And it's relatively straightforward, but it's something you might want to look into. 02:11.430 --> 02:16.360 Almost certainly have a follow up to this course at some point in the future where we go through these 02:16.360 --> 02:17.410 and other things. 02:17.770 --> 02:21.670 But in the interim, if you have some spare time, you might want to give these things a look. 02:22.000 --> 02:22.470 All right. 02:22.690 --> 02:23.410 Happy coding.