Pull to refresh
85.18

Go *

Compiled, multithreaded programming language

Show first
Rating limit
Level of difficulty

Distributed Tracing for Microservice Architecture

Reading time 8 min
Views 5K

What is distributed tracing? Distributed tracing is a method used to profile and monitor applications, especially those built using a microservices architecture. Distributed tracing helps pinpoint where failures occur and what causes poor performance.

Let’s have a look at a simple prototype. A user fetches information about a shipment from `logistic` service. logistic service does some computation and fetches the data from a database. logistic service doesn’t know the actual status of the shipment, so it has to fetch the updated status from another service `tracking`. `tracking` service also needs to fetch the data from a database and to do some computation.

In the screenshot below, we see a whole life cycle of the request issued to `logistics` service:

Read more
Rating 0
Comments 0

Algorithms in Go: Merge Intervals

Reading time 4 min
Views 3.5K

This is the third part of a series covering the implementation of algorithms in Go. In this article, we discuss the Merge Interval algorithm. Usually, when you start learning algorithms you have to deal with some problems like finding the least common denominator or finding the next Fibonacci number. While these are indeed important problems, it is not something that we solve every day. What I like about the Merge Interval algorithm is that we apply it in our everyday life, usually without even noticing that we are solving an algorithmic problem.

Let's say that we need to organize a meeting for our team. We have three colleagues Jay, May, and Ray and their time schedule look as follows (a colored line represents an occupied timeslot):

Read more
Total votes 2: ↑2 and ↓0 +2
Comments 0

Algorithms in Go: Sliding Window Pattern (Part II)

Reading time 4 min
Views 5.9K

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/adf4f836-dc81-4a3d-8a84-9c1d9c81fd66/algo_-_Starting_Picture.jpg


This is the second part of the article covering the Sliding Window Pattern and its implementation in Go, the first part can be found here.


Let's have a look at the following problem: we have an array of words, and we want to check whether a concatenation of these words is present in the given string. The length of all words is the same, and the concatenation must include all the words without any overlapping. Would it be possible to solve the problem with linear time complexity?


Let's start with string catdogcat and target words cat and dog.


https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a49a78c7-5177-401b-9d30-3f02d3d8db49/algo_-_Input_string.jpg


two concat


How can we handle this problem?

Read more →
Rating 0
Comments 0

Algorithms in Go: Sliding Window Pattern

Reading time 3 min
Views 5.4K

Let's consider the following problem: we have an array of integers and we need to find out the length of the smallest subarray the sum of which is no less than the target number. If we don't have such a subarray we shall return -1.

We can start with a naive approach and consider every possible subarray in the input:

Continue reading
Total votes 5: ↑5 and ↓0 +5
Comments 4

PHP Microservice Framework: Development Environment for Swoft

Reading time 3 min
Views 1.1K


Introduction


What is Swoft?


Swoft is a PHP high performance microservice coroutine framework. It has been published for many years and has become the best choice for php. It can be like Go, built-in coroutine web server and common coroutine client and is resident in memory, independent of traditional PHP-FPM. There are similar Go language operations, similar to the Spring Cloud framework flexible annotations.

Read more →
Rating 0
Comments 0

PHP Microservice Framework: Swoft v2.0.7 Release on schedule

Reading time 4 min
Views 971


What is Swoft?


Swoft is a PHP high performance microservice coroutine framework. It has been published for many years and has become the best choice for php. It can be like Go, built-in coroutine web server and common coroutine client and is resident in memory, independent of traditional PHP-FPM. There are similar Go language operations, similar to the Spring Cloud framework flexible annotations.


Through three years of accumulation and direction exploration, Swoft has made Swoft the Spring Cloud in the PHP world, which is the best choice for PHP's high-performance framework and microservices management.


Github


https://github.com/swoft-cloud/swoft

Read more →
Total votes 4: ↑2 and ↓2 0
Comments 0

Automatically obtaining SSL certificates by Let's Encrypt using DNS-01 challenge and AWS

Reading time 5 min
Views 5.6K

This post describes the steps needed for setting up automatic SSL certificates creation and renewal, using Let's Encrypt as the automated Certificate Authority, which provides a well-maintained API.
acme-dns-route53 is the tool to obtain SSL certificates from Let’s Encrypt using DNS-01 challenge with Route53 and Amazon Certificate Manager by AWS. acme-dns-route53 also has the built-in functionality for using this tool inside AWS Lambda, and this is what we are going to do.

Read more →
Total votes 11: ↑10 and ↓1 +9
Comments 0
2

Authors' contribution