Apache Kafka: review

Hello, Habr!
 
 
Today we offer you a comparatively brief, but also sensible and informative article about the device and applications of Apache Kafka. We expect to translate and release book Niya Narkhide (Neha Narkhede) et. al until the end of the summer.
 
 
Apache Kafka: review
 
Enjoy reading!
 
Streams API .
 
 
This API is designed to be used within your own code base, it does not work on the broker. Functionally it is similar to the consumer API, facilitates the horizontal scaling of the processing of flows and its distribution between several applications (similar to consumer groups).
 
 
Processing ...
+ 0 -

Messengers, it's time to take the next step

Messengers, it's time to take the next step

 
 
In the last couple of years, messengers have changed the usual course of content consumption, whatsapp, telegram, viber , sorry. Now all the content is concentrated in them, the audience grows wildly, they have changed a lot, but most importantly - they still have to - the way of content delivery, and more precisely - P2P CDN.
 
 
Why P2P CDN is the necessary step and how everything can work (and what is this?) - all this will be considered in the post.
 
Enter , you are welcome.   In the last couple of years, messengers have changed the usual course of content consumption, whatsapp, telegram, viber , sorry. Now all the content is concentrated in them, the audience grows wildly, they have changed a lot, but most importantly - they still have to - the way of content delivery, and more precisely - P2P CDN.  Why P2P CDN is the necessary step and how everything can work (and what is this?) - all this will be considered in the post.  Enter , you are welcome...
+ 0 -

Patterns of introducing dependencies. Part 2

Patterns of introducing dependencies. Part 2In last time disassembled the basic, most often used patterns of implementation dependencies. Today we will analyze the other two, which are also used in the design of flexible systems. Today, let's talk about introducing through the method and about the surrounding context. Go!
 
 

Introduction through the method


 
How can I introduce dependencies into a class if they are different for each operation?
 
By passing as a parameter to the method. If you use a different dependency on each method call, you can pass it through the method parameter.
 
 

How it works


 
The c...[/h][/h]
.NET / C#
+ 0 -

Conference DEFCON 22. "Arming your pets. Battle Pussy and the dog for the refusal of service. " Jen Bransfield

Good afternoon, DEFCON! I'm glad to be here. My name is Jen Brensfield, I'm the chief security engineer at Tenacity and I really love my job, so when the weekend comes, I just can not wait for Monday morning! Today I'll tell you how to arm your cat, it's a fun story, with your victories, defeats and a whole bunch of slides.
 
 
Conference DEFCON 22. "Arming your pets. Battle Pussy and the dog for the refusal of service. " Jen Bransfield  
 
So, why did I need to arm my pet?
 
 
It is known that 15% of the world's Internet traffic is devoted to cats. In addition, I often make presentations about security systems before technical and non-technical specialists. I noticed that technical details tire people, they start ...
+ 0 -

Manipulating Google's SERP

Manipulating Google's SERP
 
 
Researcher Tom Anthony has discovered a supercritical vulnerability in Google's search engine, which can influence search results. The company "corrected" the vulnerability for half a year and paid only $ ?337 for it.
 
hreflang , this allows an attacker to use these directives to help their own sites rank in Google search results.
 
 
Google allows Submit an XML-map of the site to help in detecting a URL for crawling, but this can also be used for the hreflang directive, in order to define other international versions of the ...
+ 0 -

Never Fail Twice, or how to build a monitoring system from scratch

We had 2 virtual machines, 75 sites, thousands of metrics, two databases and one ActiveMQ queue, Python and a whole lot of libraries of all sorts and colors, pandas, as well as numpy, dash, flask, SQL Alchemy. Not that it was a necessary reserve for the system, but if it began to collect components, it becomes difficult to stop. The only thing that caused me to worry is jаvascript. Nothing in the world is more helpless, irresponsible and vicious than JS zombies. I knew that sooner or later we will move on to this rubbish.
 
 
Never Fail Twice, or how to build a monitoring system from scratch
 
...
+ 0 -

Hosting: exit poll

Hosting: exit pollThe hosting services market in Russia is in the process of constant development, it is changing and improving. Therefore, always there is a choice of among many companies offering various hosting services, including hosting VPS . A number of Russian VPS-providers can already boast of a "European" level of service and quality of work. Why clients change the provider? "Flow" among users is a process that is characteristic of the whole world. According to the world statistics , the average ...
+ 0 -

Crypto currency for beginners. How to start using Bitcoin

Crypto currency for beginners. How to start using BitcoinEveryone who has access to the Internet has repeatedly heard about the "magic" world of crypto-currencies. There ordinary people become the most real investors and multiply their initial capital.
 
 
But there are also those who got there indiscriminately: did not know what to buy, where to store and how to use. Such "investors" quickly lose all their savings and start shouting that bitcoin is a deception and, in general, an attempt of world freemasonry to fool money from honest people.
 
 
Therefore, before you start using crypto currency, you need to at least learn the basic principles of working ...
+ 0 -

From the Baltic Sea to the Indian Ocean

The story will be about how my journey began from the island of Kotlin to the island of Java.
 
 
It all began with the fact that the audit of the software in the organization in which I have the honor to work showed the availability of a variety of software for any needs, and as an option, I was offered its unification, namely, to rewrite part of the projects in Java, so that everyone can maintain the current functionality was convenient. And nobody canceled the interchangeability.
 
 
I got a desctop application for testing the main software. It is written in the promising language Kotlin (at ...
+ 0 -

Learn OpenGL. Lesson ??? - Instance

Learn OpenGL. Lesson ??? - Instance

Instancing


 
Imagine that you conceived a scene containing a huge number of models of objects, and mostly these models contain the same vertex data, only the transformation matrices applied to them differ. For example, a scene with a grass field, where each blade is represented by a small model composed of just a couple of triangles. Of course, to achieve the desired effect will have to render this model more than once, but a thousand, ten thousand times per frame. Since each leaf contains literally a pair of triangles, its rendering will be almost instantaneous. But here are thousands of repeated calls ...[/h]
+ 0 -