For now, though, our only source for the data is the v5 application. We plan to migrate the taxonomy feature into its own service which can likely expose an endpoint to request this data. I, therefore, required a further source for the taxonomy data. I need to record the metrics using the actual names of the category and term in the format: .
The data from the API only includes category and terms IDs. The response then includes an array of categories and their terms as follows: As part of the payload, I can request the taxonomy data for the job. The job data I consume comes from a graphQL API. For a job view, we load data about the job, including the title, recruiter information, go-live date and any category and terms it appears under. This requires HTTP calls several new v6 APIs to load additional data which is used in the expansion of the dimensions.
#Qki tum hi ho song full#
One of my services, known as the “metric expansion processor”, takes these “lightweight” metrics and expands them to construct a richer, full metric. For example, if a user views a job, we record a job view metric, along with the ID of the job that was viewed. A metric from v6 arrives, carrying the minimal data about the event which took place. My service is used to expand data recorded as metrics for our Insights analytics platform. More specifically, for a service I was developing, I needed to access specific parts of the taxonomy data. There is a fair amount of business logic involved in accessing and interpreting the data.Īs a general requirement, we needed a solution for accessing this data from the new v6 services, each of which may have different requirements for that data. Beyond that, it’s not essential to go deep into how taxonomy works, let’s just agree that the taxonomy data is owned by the v5 platform (today). A taxonomy is comprised of a collection of categories, each containing a hierarchy of related terms. Our v5 platform uses several database tables and configuration files to store information about the configured taxonomy, as well as for localisation and holding metadata used by the platform. One area that commonly requires configuration is the taxonomy used to categorise the jobs listed on the board. Our current platform supports multiple tenants, each of whom may configure their job boards to meet the needs of their business. I would like to focus in on a recent piece of work, describing how we used a cloud-native, microservices architecture to meet the feature objectives.
This post is not intended to be a discussion about the pros and cons of microservices, though. This architecture supports rapid growth of our platform, the introduction of new features, and the adoption of the latest technologies such as. With v6, we are breaking the monolith and applying a microservices architecture. At Madgex, we are currently building out v6 of our world-leading job board software.