Files
sre/TODO
2021-06-12 11:49:00 +02:00

212 lines
5.8 KiB
Plaintext

- Performance Tests
Apache Benchmark
Vegeta
Performance
Linux Performance
https://github.com/leandromoreira/linux-network-performance-parameters
Distributed Computing
- Concurrency
- Locks
- Atomic data structures
- Semaphores
- Latches
- Actors
- Paralelism
- BTree - https://www.youtube.com/watch?v=NI9wYuVIYcA
- BTree indexing
https://www.youtube.com/watch?v=aZjYr87r1b8
https://github.com/zowens/commitlog/blob/master/src/file_set.rs#L17-L98
Distributed Systems
- Raft
- https://www.youtube.com/watch?time_continue=5&v=Hm_m4MIXn9Q
- Paxos
https://www.amazon.de/Designing-Distributed-Systems-Patterns-Paradigms/dp/1491983647/ref=pd_rhf_dp_s_pd_crcd_0_7/257-9514931-3061115?_encoding=UTF8&pd_rd_i=1491983647&pd_rd_r=1815f6be-471d-4f48-b420-f0399955883d&pd_rd_w=9aqLb&pd_rd_wg=oxfmN&pf_rd_p=7538ba11-5fe0-47c6-a94f-8715960a4f1d&pf_rd_r=5Z9WWAJ2DD72JDKND0FD&psc=1&refRID=5Z9WWAJ2DD72JDKND0FD
https://www.amazon.de/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321/ref=pd_rhf_dp_s_pd_crcd_0_1/257-9514931-3061115?_encoding=UTF8&pd_rd_i=1449373321&pd_rd_r=1815f6be-471d-4f48-b420-f0399955883d&pd_rd_w=9aqLb&pd_rd_wg=oxfmN&pf_rd_p=7538ba11-5fe0-47c6-a94f-8715960a4f1d&pf_rd_r=5Z9WWAJ2DD72JDKND0FD&psc=1&refRID=5Z9WWAJ2DD72JDKND0FD
Consul
Etcd
Redis with WAL?
https://www.youtube.com/watch?v=DUbEgNw-F9c
# Performance?
Zero Copy
TCP/Network/OS
PGSQL WAL -> https://www.youtube.com/watch?v=feTihjJJs3g
https://www.youtube.com/watch?v=clrtT_4WBAw PGSQL Indexing
PG SCALING -> https://www.youtube.com/watch?v=Jvdtx-Smffo
PG REPLICATIO TUTORIAL -> https://www.youtube.com/watch?v=GobQw9LMEaw
PG SHARDING -> https://www.youtube.com/watch?v=fpRidAFB-sU
https://github.com/guedim/postgres-streaming-replication
Spark
https://www.youtube.com/watch?v=PVOOV1zSpQg
Kafka && Kinesis
---------------
Kubernetes subtopics
-------------
Git *Under the hood*
Commit Logs
MISC
https://www.youtube.com/watch?v=NcaiHcBvDR4
https://github.com/djhworld/simple-computer
https://github.com/luong-komorebi/Begin-Latex-in-minutes
https://s3.amazonaws.com/content.udacity-data.com/courses/ud923/references/ud923-pai-paper.pdf
------------
CLI
https://github.com/jlevy/the-art-of-command-line
Linux Performance
http://www.brendangregg.com/linuxperf.html
SRE
https://github.com/mxssl/sre-interview-prep-guide
https://www.coursera.org/learn/site-reliability-engineering-slos
https://www.youtube.com/watch?v=GDo-Ixy_i9k
Distributed Systems
https://github.com/lorin/resilience-engineering
https://github.com/lorin/systems-reading
https://github.com/lorin/availability-reading
Scalability
https://github.com/binhnguyennus/awesome-scalability
-------------
Non-Computing
* International Law
https://www.youtube.com/watch?v=EYPs-ya_GDA
* Learning How to Learn
https://www.youtube.com/watch?v=Z2N5a7XZWg8
* Data Structures
https://www.youtube.com/user/RobEdwardsSDSU/videos
Probabilistic Data Structures
* BloomFilter
https://www.youtube.com/watch?v=heEDL9usFgs
https://www.youtube.com/watch?v=Bay3X9PAX5k
* Hashing
* CRC32
https://github.com/Michaelangel007/crc32#introduction
http://stigge.org/martin/pub/SAR-PR-2006-05.pdf
https://web.archive.org/web/20130420172816/http://home.comcast.net/~bretm/hash/8.html
http://mdfs.net/Info/Comp/Comms/CRC32.htm
https://softwareengineering.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed
https://stackoverflow.com/questions/26049150/calculate-a-32-bit-crc-lookup-table-in-c-c
https://wiki.osdev.org/CRC32
https://stackoverflow.com/questions/10953958/can-crc32-be-used-as-a-hash-function
https://tools.ietf.org/html/rfc3385
https://tools.ietf.org/doc/tcllib/html/crc16.html
---- System Design
https://github.com/shashank88/system_design
https://americanexpress.io/eliminate-the-database-for-higher-availability/
http://thesecretlivesofdata.com/raft/
----- Distributed Systems
https://www.youtube.com/watch?v=nyNCSM4vGF4
----- File System
https://developer.ibm.com/tutorials/l-virtual-filesystem-switch/
------------ Persistent memory
https://github.com/pmem/book
---- Go
https://github.com/ardanlabs/gotraining
https://hello-rust.show/5/
https://hello-rust.show/9/
Elevator Systems
https://www.youtube.com/watch?v=BCN9mQOT3RQ
https://www.youtube.com/watch?v=oY1QlCqWOss
Linux Kernel With Tracing
https://www.youtube.com/watch?v=JRyrhsx-L5Y
Linux Kernel Debugging
https://www.youtube.com/watch?v=Ni_FuuYmsHw
The Tragedy of systemd
https://www.youtube.com/watch?v=o_AIw9bGogo
Transaction Theory
http://faculty.juniata.edu/rhodes/dbms/transproc.htm
SQL/Database Specific
https://www.youtube.com/watch?v=HQ2mcEssJ7Y
https://www.youtube.com/watch?v=xYysvuDAX70
Redis Transactions
https://erichohenstein.com/2016/01/redis-transactions/
Interesting -> Redis asks the client to specify keys to be watched during a transaction (to avoid concurrent access)
https://nathanmlong.com/2015/10/reimplementing-rubys-hash/
Data Structures
https://www.youtube.com/watch?v=tvyAx-JI7sM
Interviewing
https://thinksoftware.medium.com/elevator-system-design-a-tricky-technical-interview-question-116f396f2b1c
https://github.com/alex/what-happens-when
Distributed Transactions
https://www.youtube.com/watch?v=S4FnmSeRpAY
Distributed Locks
https://www.youtube.com/watch?v=v7x75aN9liM
Interesting questions:
What is the maximum number of TCP connections one machine/container/application can hold?
What is the limitation on goroutines?
How goroutines work on multicore?
https://www.youtube.com/watch?v=afSiVelXDTQ
https://misfra.me/optimizing-concurrent-map-access-in-go/
https://andregarzia.com/2021/04/writing-a-technical-book.html
https://www.foundationdb.org/files/fdb-paper.pdf
https://worthdoingbadly.com/macappsios/
https://nathanpeck.com/speeding-up-amazon-ecs-container-deployments/
https://manishearth.github.io/blog/2015/09/01/designing-a-gc-in-rust/