TL; αα»αα ααΆααα·αααααΆα’αααΈααααΆαααααααααααΆαααΈαααααα-αααΆαααΈααααααααααααααααααααααααΆαααααααα
ααΆαααααααααααααΆαααΆααααα»αααααααΎα QControl α ααΆααααΌαααΆαααα’ααααΎαα·ααΈααΆαααΉααααααΌαααΈααααααΆαααααααααΎαααΆαααΆαα½αααΆααααααα
αα gzip αααααααΆαααΆαααααα½ααααΆαα
ααα»α
αααα
ααα ααααααααααααΆαα
ααα
αΆα αα·αα
ααα»α
αααα
ααααα½αααΆααα
αα
α»ααααααααΆαααααΆαααααα α αΎααα·ααΈααΆααααα½αααΆα’αα»ααααΆαα±ααααα‘αΎαααΆααααααΌααααααα·αααααααααααΆαααααΎααΌαααααΆααΈαααααα αααααααααααααααΌαααΆααααααΎαα‘αΎαααΆααααααΆααα
Qrator Labs ααααΎαααΆααααααΆαααΆαααααααααΆαααΆααααα αΆααααα ααα αΆαααΌααΆαααα·αααααα αααααΆαααααααΎαααααΎαααΆαααΎαααααΆααα anycast α αΎααααααΆαααααααΌαααΆαααααααααααΆαααΆαααα BGP α αααα»αααΆαααΆαααααΆα BGP anycast αααααΆαααΈααΆαααα αααα»ααααααααΆα αααΎααααααααΈ ααΎαα’αΆα ααααΎαααΆα αα·αααααα ααΆα ααααα»αα αααΆααααΆαααααα·ααα ααΉαααααΌαααα’ααΈαααΊαα·α - ααααα·ααααα·ααααααΆααααααΆαα 1 α
αααααΆααα·αααα ααΆαααααΎααΆαααααΆαα ααα αΆαααΆαααΌαα·ααΆαααααααΊαα·αααΆααααα½ααααααα ααΆαααααΆαααααααΆαααααααΆαα ααα»α αααααΆαααααααααΆαααΊααΆαααΆααααααΆαααααααΆααα’ααααααααααααΆααααα·αα»αααΎααααΈα±ααααΆαααΆαααααααα ααΆααααααααααααααααΆαααααααΆαααΆααα’αα αααααααΎαα αα α»ααααααααΆααα½αααΆαααα»αααααααααΆαααααααααΆα ααΌα αααα ααΎααααΈαααααααΌαααααα·αααααααααα»αααααααΆααααααααΌααααα’αααααααΎααααΆαα ααΎαααααΌαααααααααα·ααΈααααΎααααΆααααααα·ααααααααΆαααααααα ααΆαααααααααααααΆαααΏααΆαααα ααΌααΆααααααΈαα
αα ααΎαααααΌαααΊααΆαααααααααΌαα ααΆααΆαααααΆαααΆαα·ααΈααΆαααααΆαααααααααΆαααΆαααα αααααααααΌαααΆαααΆαα’αΆαααααα
ααΌαααααΆαααααΉαααα’αααα·ααΆααααα QControl αα·ααααα»ααααααΆαα½αααααΆααα ααΌαα ααα»α
ααααααααΆααααΆαα
αααΆααααααααΆ αα·αααααΆααααΆαα
αααΎαααΎααΆααααααΎααα·ααΈααΆααααααααααααΊαααααΌαααΆαααΎααααΈααα½αααΆααααααα’αα»ααααΆααααα½αααααΆαααααααα
ααΆαααααααα α αΎαααΈαααα»αααααΎααααΆαααααα
ααα»α
ααααααΆαααααααΎα ααΆαα½αβααΆα ααΆααααα»ααααα½αααΆααΊααααΆααααααΆαααααΌαααΆααα½ααααα»αα
αααααααααΌαααΆααα½αα
ααα½ααααα»αα’αα‘α»ααααααααΆαα’αα·αααααα QControl α ααΎαααΈααα ααΎαααααααΌαααΆαααΆααα½ααααα
αΌαααΆαα½αααααΆαααααααααΆαααααΆαα αα·αααααααα»ααα
α
ααα»α
ααααααΆα (POP) αα·ααΈααΆαααααααααΆααα (αα·αα’αΆα
ααααΌαααΆαααααααΆα) αααααΆαααα»ααααΆααα·αααααα ααααΌα
ααΆααΆααααααααααααΆαα
αΌαααααΎααααΆαααααααα αααα
ααΈααα ααΎαααα
ααααααααααααααααααααααααααααααααΎααΆααααααααΆααΆααΆαααααΎααΆαααααααα―αααΆαα αα»αααα QControl αα·ααααααααααΌαααΆαααααΎαα
ααΆααα
ααα»α
ααααααΆαααααΎααααααααα ααααα·αααΎα
ααα»α
ααΆαα½αααααααααΆααα·αα’αΆα
ααααΎααΆα α αΎαααΎαααααα
ααααΎαα
αα
α»ααααααααΆαααΆαα
αααααααα ααΆαααααααα
ααΆααααααααααΉααααα
αααααααΆααααΈαααααΆααααααΆ α αΎαααΎαααΉαααααΌαααααααααΆααααααααΆαααα»αααΆαααΆαααααΆαααα·α αα·αααααΎαααΆαα
ααΆααααααααΎαααΆααααααΎααααααααΆαααααΌα
ααΆααααααα
αααΆαααΈαααααααΆαααααααα
ααΆααααααααααα½ααα»αααααΌαα
αααααα»ααααΆααα·αααααα αα·αααΆααααα»α αααααααααΆαα
ααα»α
αααα
ααααΆα
αααΎααααααα½α αα·αααααΆααα
αα
α»ααααααααΆαααααΆαααααααα
ααΆααααααααααΈα’αα·αα·αα αα·ααααα»ααααα½ααα
αααΆαααΈααα αα·αααΈαααΆαααΈααααα
α
ααα»α
ααααααΆαα
αα»αααΆαααααΆααααααΆααα’ααΈααΊαα·ααα αααααααααα½ααααΆαααΌααααΌααΆααα αα»ααα·ααα·ααααα - ααΎααααΈαααα αΆαααΈα ααα»α ααα ααΌααααα‘ααααΎα MTR ααααΆαααααα½αααΈααΈαααα»α Prague ααΆααΆααααααααα αα αα·ααα αα»ααΈ αα·αα α»ααα»αα
MTR ααΈ Prague αα
αα·ααα αα»ααΈ
ααΏαααΌα
ααααΆαα
ααΉαα α»ααα»α
ααΆαααΊααααΆααααααααΆααααααΆααααΏαααΆαα ααΎαααΈααααααααΆαααΆαααΆααααααααα ααααααααΆαα αααΉαααΆααααα·αααααααααααααααΆαααααα αΆααααααααααααΌααααααααα·α αΆαααΆααΆαα·α αα αα αααααΆαααααααααααααα·ααααααΆαα
ααΆαααααααα ααΆααααααααααααααααα ααα»α ααααααΆαααΊααΆα ααα½ααα·ααααααααααααΆαααααααααΌαααααααΎαα ααΆααα’αααααα½αααΆα αααΎααα»ααα·αααΆαααααΆααααααα·ααα½αα±αααα»αα α·αααα ααΆααααΆαααα’ αααααΈααΆααΆαααααααα ααΆααααααααααααΆααααααΌαα₯ααααααααααα ααααΆααΎαα‘αΎαααααα·α αααααα
ααΆααα ααΆαααααααΆαααααΈα
ααΎαα’αΆα αα·ααΆαααΆαααΆααΆααααΆααααααΆαα ααα αΆααααααα’ααααΎαααααΆαααααααΆααααααΎαααΆαααΆααααααααΊααΆαααααααααΆαααΆαααααααα ααα»ααααααΆααααα αΆααΆα αααΎαααΆαα½αααΉαααΆααα»αααααΆα ααΎαααααΌααααααΆαα»αααΆααα»αααααΆααΆααα’αααααΆαα ααα»α ααα α αΎαααα’αΆα αααααΌαααΆα‘αΎααα·ααααα»αααααΈααΆαααααΆααααΆααααααΆαααααααααα·ααααααα ααααα ααΈαα½ααααααΌαααα’αα»αααααα½αααΆααΆαααααΆαααααααααΆααααΆαααα½αα ααΆααααααΆ αααα»αααααΈααΆαααααα ααΆα αααΎα ααααα·ααααα·ααΆαααααααα’αΆα α αααΆααααααΌαα α’αααααα½αααααααΌαααα’αΆα ααααΎαα»αααααααααααΆαα α αΎαααΆααΆααα·αααΆαα ααααααααααΆαααααΌαααααααΎααααα ααΉαααααΎααααααα±ααααΆαααααΉαααααΌα αααααααΎαααα·αααααααααααΆααααα»αααααα
ααΆαααααα ααΎαααΆαααΆααα ααααααααααααΆααααα½αα±ααα αΆααα’αΆαααααααα½α - ααΎαααΆααααααΆααααααααα½α αα½ααα»α α’αα»ααααΆαα±ααα α ααΆααΆααΆααααααααΆα αα·αααΆαααΆααα»αααααΆαααα½αααααααααΆααααΆ - ααααΈααααα ααααΈαααΈαα½ααααΊααα’ααααΎαααααααΆααααααΆααααααΎαα α»αααααα α αΎααααααααααΆαααααα»αααΆααααΆααα·ααααααααααααα ααΆααααααααα‘αΎααα·αα αααΆαααΆβααααβααααΈβαβααΆαβαααβαααβαα βααααβααΆ αααβααααβα αΆααβαααβααααΌαβααΆαβαααβα αΎαα
α’αααΈααααα ααααααααΊααααΌαααααΎααΆαααααααα ααΆαααααααααααααΆααααααααΆαααααΈααΈααααα½ααα ααααα½α α§ααΆα ααα αααααΆαααααΈααααααΆαααααΆααα ααΆαααααα α’αααΈβαααβααααΆααβαα βααΈαααβααΊβααΆβααΎαβααααΎβα ααβααΆαβααααΎβα±ααβααΆααβααααβααΆααβα’ααβαααβαααα»αβααααβααααΆα/αα α»ααΆα αααβαα·αβααΆααααβα’αααΈβα’αααβααα½αβαα»αααα αα·αβαααααααΆαβααααβαα½αβααβαααα»αβααΆαβαααα»αβααααΆβααΆβαααααβααβαα·ααααααα αα ααααααααΎαααααΆααααΆα’ααααααααααααΆααΆααααααααΆαααααΉαααααΌαααα ααΎαααααΆααααααααΎα’αααΈαααααααΈαααα»αααααα ααΎβααΆβααΆαβαααααβαααα»αβααΆαβαααααΆααβααΆβααΆβααααΎαααΆαβα¬? ααΆαααΆαα αααααααΆαααααΌαααΆααα»ααααα»αααααΆαααααααΆαααα ααΎαααΆαααΈααα ααΆαααααααα ααΆαααααααα αα·αα’αααααα½α ααααΈαααααΌαααΆααααααΎαααΆααααααΌαααΆαα
ααααΆααααααααααααΆαααΉααααααΌαααΈαααααα·α
α ααα»α’αααΈβααΆαβααΆβααΎαβαααααΎαβααΆαβααΉαβαααααΌαβααααβααΎαβααΆβααΈαβααααα·α? α ααααΎαααΊααΆααααααΆαα - ααΎαα αααααααααααΌαα ααααΈαααααα·ααααΆααααα·αααααα αααααα½αααααΆααααα»ααααα·αααΈααααΌ OSI ααΆαα½αααΉαααΆαααΉααααααΌα αα·ααααααΆαααααααα·ααΈααααααΆα ααΎαααΆαααααΎ Thrift αααααΆαααα½ααΆααΈαααα·ααΈααΆαααΉααααααΌα αα·ααααααα msgpack serialization αααααΆααααααααααααα·ααααααααααΆααααα½ααα·αα·αααα αααβααΆβααΌαα ααα»βαααβααααααα (ααααΎαααΆαβαα α»ααΆα/ααααΆα/αααααΌαα) αα·αβααΎαβαα βαααα»α msgpack αα·αβααα αα α¬βααα ααβααΆαα·ααΆβααβαα·α α αΎαβαααααΌαβααβαα·ααααααβααα»αααααα
Thrift (ααααΈααΆααΆα’ααααααα - "thrift" αααα ααααα‘αα [ΞΈrift]) ααΊααΆααΆααΆαα·αααααΆα ααα»α αααααΆαααααααααΌαααΆαααααΎααΎααααΈααααα αα·ααααααΎαααααΆαααααααααΆααααΆααΆααααααααααα·ααΈααααααα ααΆααΆααααααααααααααΆααααΆαα α ααΆαααΈαα·αα·ααΈααΈα ααααΆα (RPC)α αα½ααααα αΌαααααΆααΌααααααααααααααααΆαα½αααΉααααΆαααΈααααααΎαααΌα ααΎααααΈαααααΎαααααΆαααααααααααΎαααΆαα αααΎα α¬αα·α ααααααααααααα·αααααΆα αα·αααΆααααα½ααααΆαααΆααΆα
ααΎαααΆαααααΎαααΎαααααααααα Thrift αααααΆααα RPC αα·αααΆαααΆαααααααααΆααααΆααΆααΆα αααΎαα ααΌα ααααααΆ αααααααΆααααα½αααΊαααΆαααΈαααααα αα·ααααΆαααΈαααα αααααΆαααΆαααΆααααα αααααααααΆαααααααααΆααα ααΆααααΆααααααααΆααααα»αααΆαααααα ααααα½αααααααααααΆαααααΆααααααααααααααΆααααααααααα½α ααΆααααα ααα‘α»ααααα’αα·ααααααααααΎαα
ααΆααααααΎαααααααααααΌα ααΆ protobuf / gRPC ααααααΆαααΆαα αααααΎαα αΆααααααΎαααααααααααααΎα gRPC ααΊααααΈααΆαα α αΎαααΎααα·αα ααΆαααααΆαα ααΎααααα ααααα
ααΆααΆααα·αααΆαα ααΎαα’αΆα (α αΎαααΆααΆααα·ααα½αααααΆα) αααααΎααααααααΆαααααα½αααααααΎαα ααΆααΉαααΆααααααΆααααα½ααααα»αααΆααααααΎααα·ααΈααΆααααααΆααα’αααΈαααααΎαααααΌαααΆα ααΈαααααααααΆαααααααααααΆαααΈαααααα-αααΆαααΈαααααΆαααΆαααΆαααααααα»αααΆαα’αα»ααααααΎαααααααααα ααΉαααΆααααΆαααααααααα ααΎ Thrift α αα·ααΈαα½α α¬αααααααΆααααααααα ααΆαααΆαααα’ααααααααααααΈα αααααα·ααΈααΆαααααααααααααααα½αα―α αα·αααΆαα’αα»αααααααααΆαααααααα·αα (αααααΆααα ααα»ααααα’) ααΎαααΈααα αααα»αα’αα‘α»αααααα·ααΆααααΆαααα½ααααααααΎαα‘αΎαααΆ "ααΎααΎαααΉααααααΌαααΆαα ααΆααΆααΆαααααααααααααααααΆ?" ααΌα ααααβααΎαβααΆαβαααβα ααβαααα·αβααβααΆαβαα·αβαααβααααΆααα
Msgpack ααΊαααααααα ααΉα JSON ααα»ααααααΏα αα·αααΌα ααΆαα ααΆααΆααααααααααααα·αααααααααααΈα αααα’αα»ααααΆαα±αααα·ααααααααααΌαααΆαααααΆααααααΌααααΆαααΆααΆααΆα αααΎαα
αα ααααα·αααΈαα½α ααΎαααΆα Thrift ααΆαα½αααΉαααααααΆαα’αααααααΆαααα αΆαααΆα ααααααΆαααααααααααΎααααΈαααααΌαααΆαα αα ααααα·αααΈααΈαααΆααα ααΆαααααααα msgpack ααα ααα
ααΎαααΆαααααΎαααΎα msgpack αααααααΆααΏα αα·αααααα½αααΆαααΎαααααααααα ααΉα JSON α ααα»ααααααααΆααααΆαααααα ααα ααΆααΆαααααααααααα·ααααααααααΆαααααα½α αααα’αα»ααααΆαα±ααααΎαααααΎαα»αααΆααα·ααααααΌα ααΆααΆαααααααΆαααααααααααααααΈααα α¬ααααα»αα·αααααααααα αΆαααΈα’ααααααΆααααα·αααααα αααααΆαααΆααααααΆαααααααΆαααααααααΆααα "αααααααΆαααααΈα" ααααααΎαα
JMESPath
JMESPath ααΊααΆααΆααΆαααα½α JSON α
ααααα·αααΆα’αααΈαααααΆααα·αααααΆαααααΎαααα½αααΆαααΈα―αααΆαααααΌαααΆααααα JMESPath ααΎααα
ααα»ααααααΆααα·ααα
ααΆααααΎααΎαααΈααααα
αααα JMESPath α’αα»ααααΆαα±ααα’αααααααααα αα·ααααααααααΆααααα
αααα»ααα
ααΆαααααααααααααΆααααααααΆα α αΎαα’αα»ααααααΆαααααΆααααααΌααα·ααααααααααΆααα ααΆααα’αα»ααααΆαα±ααα’αααααααααααααααα·ααα αα·αααΈαα·αα·ααΈααααααααα·αααααααααααα αααααΈααΆααΆ αα·αααΆαα ααΆαααΆαααΆααα·αααααααΉαααααααα½αααααΆαααΎααααΈαααα
Jinja
αααααΆααα’αααααααΎααααΆαααα½αα
ααα½α ααΎαααααΌαααααααααΆαααααααα
ααΆα―αααΆα ααΌα
ααααααΎαααααΎαααΆαααΈαααααΌ α αΎα Jinja ααΊααΆαααααΎαααΆαααααααα αααααΆααααα½αααααααΆ ααΎααααααΎαα―αααΆαααααααα
ααΆααααααααααΈααααΌ αα·ααα·αααααααααααα½αααΆααα
ααααα
α
ααΎααααΈαααααΎαα―αααΆαααααααα ααΆαααααααα ααΎαααααΌαααΆαααααΎ JMESPath ααααΌαααααΆααααΈααΆααα―αααΆααααα»α FS αα·αααααΌαααααΆααααΆαααααααα ααΆαααααααααααα½αα―αα ααΆααααΆαααα·αααα’αα ααααΆααααΆααααααααα ααΎααααΈαααααΆααααΆαα’αα»ααααΆαα―αααΆαα ααΆααα’αααααααααΌαααΆααα½ααααα αΌαααααΆααααααααααα αααα»αα―αααΆααα½α - αα»ααααα αΆααααααΎαααααααΌααααααα ααΆαααααααα ααΎαααΆαααΆααααααααΆαααα»ααααααα YAML ααααα·αααααΆα’αααΈα’αααΈααααα αααα
α§ααΆα ααα:
---
selector: "[@][[email protected]._meta.version == `42`] | items([0].fft_config || `{}`)"
destination_filename: "fft/{{ match[0] }}.json"
file_mode: 0644
reload_daemons: [fft]
...
{{ dict(match[1]) | json(indent=2, sort_keys=True) }}
ααΎααααΈαααααΎαα―αααΆαααααααα ααΆαααααααααααααΆααααααΆααααααααΈ ααΎαααααΆααααααααααα―αααΆαααααΌααααΈααα»αααααα ααααΆαααΆαααααΆααααααΌαααΌαααααα α¬αααααα·ααΈαα ααΎα ααα»α ααααααΆαααΊααααΌαααΆαααΆαααΆαα
ααΎααΆαα’αααΈααααΆααααααΌαα αΆααααΆααααΈ QControl ααΆαααααΆαααααααααΆαα? ααΏαααααΌα αα·αααααΆαααααα»αααΊααΆααααααΌααα αα α»ααααααααΆαααααΆαααααααα ααΆαααααααααααααΆααααΆαα αα·ααα½αα±αααα»αα α·ααααααααααΆααααΆααα’αααα αααα»ααααααΆαα ααΈααΈαααΊααΎααααΈααα½αααΆαα§αααααααααΆαα’αΆαα»ααΆααααααΆαααα·αα·αααααΎαααΆαααααααα ααΆαααααααα αα·αααααΎααΆαααααΆααααααΌαααΆααααααα»αααΆααααααααααΎα ααααΌα ααΆαααα’αααααααΎααααΆααααααΆαααααααααα
ααΎαα’αΆα ααααΎα’αααΈαααΆααα’ααααααααααααΎαααααααΆαααα’αΆααααααααααΆααααααααΆαααΆαααααααΈαααα ααΎααααΈααααα½αααΆαααααΆαααααααααΆααααΆαααΈαααααααΆαααααααα ααΆαααααααα αα·αα’αααααα½αααΆαααααααα ααΆααααααααα ααΆαααααΎαα·ααΈααΆαααΈααααααΆαα ααΎααααΈααΆαααααααααααΆαα―αααΆαααααααΆαα·ααΆααααΆααααααααααΌααα·ααααααα αα½ααααα αΌαααααΆαααααααααααΌααααΆαααΈαααααΆααααααααα ααΆαααααααααααααΆαααΌαααααΆαααΎ Jinja αα αααα»ααααααΆαα αααααα ααα αΆαα αααααααααααααΆαααααα·ααΈααΆαααααααααααα ααΆαααααααααααΆαααΌααααΌααΆααααααΆααααααΏααα»αααααΌααααααα ααα αΆα αα·ααα»αααΈααααΆααααααΎαα
ααΌαα’ααα»αα
αααααααα½αααααα’ααααααα»αααΆαααααααααααΆααα
ααααα: www.habr.com